Home
2022年
2021年
2020年

6月30日 GPUを使ったパスワードクラッカーの性能測定

僕が過去、何をやっていたのか、覚えていない人も多いと思っています。 ゼロ遅延マルチコアを日記に書いてからGPUコアを見せに来る人が多くなっているように思います。 僕がGPUコアを知らないと思ったのかもしれない。

2008年ごろだったかな。まだIntelのAES専用命令が普及していなかったころ、 GPUを使ったAES暗号の高速化の需要はあった。1カ月半くらいでnVIDIAのGPUを勉強して、 AES暗号の復号化をGPUで高速化するフリーウェアを開発して、米国 nVIDIAのショーケースに 飾ってもらったこともある。AESの暗号化は並列化できないけれどCBCモードはブロック単位で 並列復号化が可能なためGPUを使ってブロック単位の並列化をしている。

その後、GPUを使ったパスワードクラッカーを開発して販売してみようかと思って、 SHA-1などの関数を自作したけど、結局、フリーウェアとして配ることにした。 配布しているのはクラッカーではなくて、クラッカーの性能を測定するもの。

sha1bench
最終更新日が4年前のソフトだけど1年くらい前までは、動ていたので、今でも動作するかも。

原因がわかった
僕の日記を見てSIMDとSIMTの区別がついていないと思ったのね。
確かに区別できていなかった。でも米国のnVIDIAのショーケースに飾ってもらった AES暗号のフリーウェアはCUDA(SIMT)だし、パスワードクラッカーの性能測定ソフトも OpenCL(SIMT)だから、SIMTについては知っている。
昔、SIMTで疑似MIMDを動作させるソフトを作って公開したことがあるけど、 すごく単純なプログラムでは、動作したけど、少し複雑なプログラムでは、 うまく動かなくて、公開停止にした経験があったかも。FakeCoreと呼んでいたやつ。 産業スパイによる妨害が多発していて、非常に限られた時間で活動していた結果、 十分にテストせずに公開したことが、失敗の原因だった。

GPUコアがブラックボックスであるために、GPUコアを推定して作ったことも失敗の原因。

今回のゼロ遅延マルチコアは、自分が設計したコアだから、FakeCoreのような失敗は無いと思う。


6月30日 WZetaのゼロ遅延マルチコアの用途

ゼロ遅延マルチコアについては6月29日の日記を読んでください。 ゼロ遅延マルチコアの8bitパソコンを作れば儲からないかと思っている。 市販のFPGAを買って組み立てるだけで8bitパソコンのハードになるから。

4コアの8bitパソコンは市販FPGAの実装できると思う。 4コアのうち1つをメインCPU、1つをVDP(GPUのようなもの)、1つをサウンド用、 1つをVGAやLCDの表示に割り当てると良さそう。 1コアをサウンド用に割り当てれば、安定した音声が出力される。 ゲームのエミュレータを作っている人には良くわかることだろうと思います。
汎用CPUコアのVDPが非力であることは間違いないと思うけどMSXと違ってメモリを メインCPUと共有しているので、CPUによる直接書込みと合わせれば、 性能をカバーできるかもしれない。
VGAやLCDに1コアを割り当てれば、多彩な画面モードに対応可能。 またアプリ側で画面に割り当てるメモリを決められるので、アプリが画面を 多数作って、表現力を高めることもできる。多彩なスクロール機能を アプリが勝手に作れるなど。LCDドライバのSRAMを削減してコストダウンできるところは、 非常に魅力的かもしれない。
まず8bitパソコンでWZetaやゼロ遅延マルチコアを普及させ、成功に導くことができるかも。

銀行向けトークンの最新のセキュリティのためには大型LCDが必要になります。 電子署名をするには、何に対して署名をしたのかを、しっかり目視する必要があるからです。 つまりLCDドライバからSRAM削減が期待できるWZetaのゼロ遅延マルチコアは、最終的に 銀行向けトークンに採用され、あっとゆうまに30億デバイス?で使われることになるかもしれません。

ゼロ遅延マルチコアはCPUアーキテクチャの超電導?みたいなことを言っていますが、 画面表示を消して4コアで全力計算をさせた場合、AES暗号の暗号化のような並列処理が難しいものでも、 理論的には1コアの4倍近い性能がでるように思います。実質2倍くらいかも。 不揮発メモリのリード性能が遅いために性能が出ない場合があります。 そういったところで並列処理は、役に立つのですが、あまり並列化で性能が出ないことが多く、実用化が難しかった。 ところが、ゼロ遅延マルチコアでは、例に挙げたAES暗号のように性能が出てしまうので、実用化できてしまって、 ゼロ遅延マルチコアのマイコンが活躍するかもしれない。 ゼロ遅延マルチコアが活躍できる市場の範囲は狭いかもしれないですけど。

冒頭に書いたようなゲーム専用8bitパソコンみたいなもので、 このマイコン新技術を立ち上げるのが、いいように考えています。 妨害が多いと成功しません。この国の将来を考える人は、よろしくお願いいたします。


6月30日 WZetaはノイマン型?ハーバード型?

半導体エンジニアの人やマイコン基板を使っている人たちがマイコン アーキテクチャの 雑談をツイッターの音声チャットでしていた。 その音声チャットを聞いてWZetaについての話を日記に書いてみたくなった。

僕も技術用語の定義について、非常にいい加減なところはあるのですが、アーキテクチャが 専門でない人たちよりは、マシかもしれない。

超軽量8bit CPU WZetaの説明書には ノイマン型と書いているけど、メモリモデルの設定によってハーバード型にもなる。 さらにハーバード型の設定でも、プログラムをデータ領域置くことができるので JITコンパイラみたいなこともできる。

超軽量なCPUにしては、複雑なことをしているように見えるかもしれない。 しかし、実装は非常にシンプルになっている。SDogコアではアドレスの 上位3bitにORゲートを入れるだけのような、実装。 音声チャットでも、この非常にシンプルな割に効果的な実装に気付いた人もあったのかも。

これに気付けたのは、東大のCPU実験?教育の成果だということかな。 僕が、どんなに素晴らしいことを言っても、わかる人がいないために、 大損するケースを示唆しているのかも。 そういう問題のために産業スパイが24時間いるとも言える。いざってときは、、、


6月29日 マイコン新技術、ゼロ遅延マルチコア、CPUアーキテクチャの超電導!?

マルチコアとは1つのプロセッサ・パッケージの中に複数のプロセッサコアを入れたもの。 わかりやすく言えばIntelやAMDの4コアや8コアと同じで、複数のコアを搭載したCPUのこと。

普通は、それぞれのコアが1次キャッシュを持って2次、3次キャッシュを経由してメインメモリを共有し、 コア間のデータ転送を行う。このためあるコアが演算した結果を別のコアが演算できる状態になるまでに 遅延が発生する。キャッシュ以外の方法もあるが遅延は発生する。遅延の性質と大きさは実装によって違う。

ゼロ遅延マルチコアはコア間のデータ転送による遅延が無いマルチコア。僕が作った言葉。

電気抵抗ゼロの超電導のように、これまで並列化しても高速化されないアプリが、 高速化され実用的に使えるようになる。このゼロ遅延マルチコアによる並列処理を 『超細粒度並列』と呼ぶことに。

ゼロ遅延マルチコアが実際に作れるのか?ということについて。 無理に作ることはできても、実際に実用的に役立つものは、作れないだろうという予想になったはず。 ところがゼロ遅延マルチコアを作ろうと思ったわけではないけど WZetaを搭載した 8bitパソコンの グラフィック表示をマルチコアでできないかと考えているうちにWZeta SDogコアでは、 ゼロ遅延マルチコアが実際にできることが判明した。

4コアのゼロ遅延マルチコアは、XilinxなどのFPGAで実際に作れる。

ゼロ遅延マルチコアが、本当に実装できることを説明します。
SDogコアは全命令が4サイクルで実行される。メインメモリはデュアルポートのSRAMなので、 同時に2つまでリード・ライトが可能。SDogのHALFモードではハーバードアーキテクチャと 同じようにプログラムメモリとデータメモリを分けることができる。 下図のCore2、Core3は1サイクル遅れで動作。


Singleコア(4サイクル ピッチ)
|f| |F|D|e|E|
        |f| |F|D|e|E|
                |f| |F|D|e|E|
                        |f| |F|D|e|E|

Core 0 |f| |F|D|e|E|
Core 1 |f| |F|D|e|E|
Core 2   |f| |F|D|e|E|
Core 3   |f| |F|D|e|E|

f: 命令コード1バイト目のフェッチ、プログラムメモリにアクセス
F: 命令コード2バイト目のフェッチ、プログラムメモリにアクセス
D: デコードしてデータメモリにアクセス
e: 命令の実行前段。メモリアクセス無
E: 命令の実行後段。データメモリにアクセス

各コアのプログラムメモリ(P)へのアクセスとデータメモリ(D)へのアクセスで 分けると次のようになっている。


Core 0 |P|D|P|D|P|D|
Core 1 |P|D|P|D|P|D|
Core 2   |P|D|P|D|P|D|
Core 3   |P|D|P|D|P|D|

全てのメモリアクセスが1つのメモリに対して同時に2つまでになっていることがわかる。

ここで注意してほしいのはCore 2,3の演算結果をCore0,1で使えるようにするため、 Core2,3でライトしたアドレスをCore0,1がリードした場合は、メモリを経由せずに、 Core2,3でライトした結果を使う。あるコアで演算結果をメモリにストアした命令の次の命令で、 別のコアが演算結果を使うことができます。 SRAMの実装によっては、何もしなくても、正しい結果になる場合もある。

WZeta公式サイトにある 「WZeta 命令セット SDog コア設計資料」と上記説明で、わかるように書いたつもり。

プログラムメモリは通常、書き換えは無いので各コア、別々に不揮発メモリにしてASICにすると有望。 不揮発メモリは一般的にSRAMと比較して遅いので時分割すればシングルポートのSRAMでいい。
これはフェイクニュースでは、ありません。


6月28日 『超細粒度並列』が可能なマルチプロセッサ

昔の日本の大学の話をすると国立がハードをやることが多いため、早稲田は ソフトウェアに傾倒していることが多かった。このため早稲田は並列処理に強く、 「近」細粒度並列という言葉も、早稲田の先生が作ったのかな?と思っています。

細粒度並列とは人によって定義が違うのかもしれませんが、スーパースカラとか、 VLIWなんかが、細粒度並列です。「近」細粒度並列は、それに近い並列処理という 意味かと思います。

スーパースカラはハードが動的に並列処理をしますが、VLIWはコンパイラが並列性を 考えて1つの命令列を作ります。

「超」細粒度並列という言葉は、僕が作った言葉です。 VLIWと同じく、コンパイラが並列性を考えますが、プロセッサ数の命令列を作ります。 あるプロセッサで演算した結果を、別のプロセッサで演算するためには、 一般的には遅延が発生します。 この遅延をゼロにしたマルチプロセッサで並列処理をすることを「超」細粒度並列 と言うことにします。遅延ゼロならば並列処理によるオーバヘッドが、非常に少ないため、 高性能になります。そしてコンパイラの並列アルゴリズムが高い並列性を引っ張り 出すことで、さらに高性能になるのです。

現、早稲田副総長、笠原先生が博士論文を取得したのが、この並列アルゴリズムで、 遅延ゼロの世界では正しいのですが、実際のマルチプロセッサでは少なからず、 遅延があるので、ズレが生じます。このズレを補正するために、僕を含めた 笠原研の研究者が、並列アルゴリズムを改良する研究をしていたのです。


6月28日 完全MIMD蜜結合マルチプロセッサは早稲田でどうなっているの?

この問合せがうるさく来ている。ICF3-Zのサーバー移転作業中で、忙しいということと、 まず完全MIMD蜜結合マルチプロセッサのハードができないと、 早稲田の自動並列化コンパイラのソフトウェアで使うことができない。 なので今、早稲田にアクセスしても、話すことがないのです。

WZeta SDogコアを使えば、ハード(キャッシュレス・クワッド)が簡単に作れることは、作る前から、 わかることなのですが、1人で、いろいろな仕事をしているので、完成までに時間がかかるのです。 作業が進むように妨害を抑えてもらえると助かります。

僕に大損させることを考えている人が、多いので、それを回避しながらだと、非常に時間がかかります。 このあたりを、改善してもらえると、進みが速くなると思います。


6月27日 SHARPのポケコンPC-1350対応のモード作ってみた

超軽量8bit CPU WZetaを搭載したパソコンの試作シミュレータWZ-660にLCDを真似た表示機能を追加。 いろいろな画面サイズを表示可能ですが、画像は1984年にSHARPから発売されたポケットコンピュータ PC-1350のサイズです。PC-1350は150x32のサイズですが5つのLCDコントローラで構成されています。 このため左から順番に5個の領域に分割されています。 画面左端のLCDコントローラにはアルファベットを表示させ、残りの4個には1ドットを表示させ、 全体を左シフトさせるプログラムを動作させているところ。詳しくは YouTubeにアップロードしているので、興味があれば見てみてください。

WZ-660はWindowsやLinuxなどで動作します。テキスト表示機能だけで作られているので グラフィック表示ライブラリは使用していません。フォントと画面サイズを手動で設定してから起動する 手間がありますが、高い移植性があります。Windows 7以降のWindowsは自動で設定されます。

画面サイズだけでも対応すればWZ-660のシミュレータで、何か作ってみたい人があれば、ご連絡ください。 WZetaの普及に役立ちそうなら対応するかもしれません。 PC-1350を選んだ理由はありません。メンテナンスに手間がかかるようになれば、削除されると思います。

公開しているWZ-660シミュレータは古いままです。リリースできるように作業を頑張っているところです。

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


6月26日 8bit CPU WZeta開発の進捗

マイコンの新技術となるか?完全MIMD蜜結合マルチプロセッサを開発して 「超」細粒度並列も、やっていきたいのだけど、産業スパイの小規模な妨害が 続いているため、滞っている。国内のメーカを調べてもSRAMの無いLCDドライバは存在している。 従来はマイコンのSRAMからLCDドライバのSRAMにコピーをしているのだけど、マイコンから 直接LCDを操作してSRAMを省き、しかも柔軟性のある画面が構成できる。

さらに重たい計算をする場合にはLCDを消灯してLCDに割り当てたCPUコアを計算で使える。 (昔のポケコンは計算中はLCDを消灯して表示に割り当てたメモリを計算に使っている。 このため、無理にLCD表示をすると、計算している様子が見えたりする)

普通のCPUコアでは不可能な、WZeta SDogコアでしかできない、 完全MIMD蜜結合マルチプロセッサは、実際に実装してみて、どのくらいのメリットになるのか、 わからないけど、良さそうに見える。

ポケコン関係をネットで検索すると、なんとなく偏りが見られたので、 ヤフーの検索エンジンに切り替えたりとかしている。 結局、検索するのが面倒になって、ポケコン風フォントを自作している。 とりあえずA-Zの26文字は作ってみた。Vectorに5x7フォントを作る 専用のアプリがあったから、結構、すぐにできた。

自作フォントに続いて、自作コンパイラも作りたいなとか妄想中。 パーサ不要のハードマクロ命令を活かした言語、ほとんどインタプリタかも。 妄想で終わるかもしれない。

僕が中学生の頃の話。工学社I/Oを読んでいて、自作言語、OS、コンパイラが、楽しそうだった。 それで整数型コンパイラWICSを大阪、日本橋まで行って買ったこともある。 親に買い与えられたものでは、なかった。中学生が何故、整数型BASICコンパイラを買おうと思ったのか、 今、思うと不思議。今、BASICの構造を調べると用途ごとにスタックを使っているものが多かった。 8bit CPU WZetaは特殊なINC命令(INCX,DECX)があるので、ソフトウェアでスタックを作るのが便利だから、 BAISCは作りやすいかも?

WZetaは実用を考えたものですが、趣味で個人規模のコンパイラを作るのも、面白いのではないかと、 思っています。


6月24日 ZOOMで量子コンピュータの専門家の話を聞いてみた

ツイッターのTL上に「第66回 ISSスクエア水平ワークショップ」が紹介されていたので ZOOMで見てみた。配信内容は書けないけど、東芝の座長が、ちょうど僕の聞きたかった 質問をされていた。回答はIBMの量子コンピュータの詳細、RSAが解読できるのか?は、 IBMでないと、わからないという答えだと僕は思った。 世の中の都合でRSAが危険になったとか、まだ大丈夫だとか。そういう状態がまだ続く。 短いプレゼンなので内容を選定しているのは理解しますが、RSA 2048bitの解読時間の基準が1時間だけだったのが、 寂しかった。SSLの証明書の有効期間は1年になったけど、発行した瞬間に解読を開始するなら1年の時間がある。 わざと外したのかな。

NISTのコンペの結果の報告は、情報収集していなかったのですが、 人によっては価値がある内容かも。

まとめ「第66回 ISSスクエア水平ワークショップ」を聞いて、 暗号プロセッサSnakeCubeと耐量子暗号の併用を考えたほうが良いと思えた。


6月24日 SHARPのポケコンの画面モードを追加すべきか検討中

6月19日の日記でWZ-660に液晶ディスプレイのシミュレーション 機能追加したことを報告しました。知ってはいたのですが1980年代~1990年代のSHARPの ポケコンのVRAMの配置とは90度ずれています。90度のずれに対応するか悩んでいます。 中古店に在庫が大量にある状態だと、液晶を交換させて復活みたいなことで、 儲けが出る人があるような気がしていますが、数が少ないと、苦労の方が多いかなと。

一応、VRAM上では256×32の画面を240×32で表示できるようにしてSHARP PC-E500に 対応できるようにしたのですが90度ずれていると表示プログラムを完全に書き換えるのに近くなるかなと。 PC-13系の150×32、160×32も同様、256×32を表示だけ小さくすることはできます。

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


6月23日 産業スパイに妨害されている

ほとんど自宅にいるので作業が捗るはずなのですが、産業スパイに妨害されているので、 半分以下の処理能力になっている。産業スパイの妨害手段は24時間監視により、 多岐にわたっている。 歯が痛むので歯医者に行くと(痛む歯の)神経は 無くなっていると言われた。にもかかわらず、起爆したように痛む。 お茶を飲んで歯の温度が上昇すると起爆するタイプと、一定以上の圧力がかかると起爆する タイプなど、いろいろあるようだ。目から入る画像が映っているからといって 脳がそれを認識できているのかは別だということ。目は見えているけど失明という状態なのかも。 産業スパイの妨害をどうにかしないと作業は進まない。


6月22日 子供に科学の本を読ませた効果

効果を知りたい人以外は読み飛ばしてください。
ブルーバックスにも「10歳からの相対性理論」のような子供向けの科学の本があるのは、 知らなかったのですが、子供に科学の本を読ませた効果について僕の実例を紹介してみます。

多分、学研の図鑑で「宇宙」「地球」とか、漫画で書かれた宇宙の本とかを親から与えられた。 そのおかげで天体に興味をもって夜空の星を肉眼で見ていた。肉眼で見えるのは6等星くらいまで。

中学に入ってからは宇宙よりも8bitパソコンが楽しくなってしまって宇宙についての知識は、 そこで途絶えているので、宇宙についてあまり知らない人になっている。

最近、ベテルギウスが暗くなったというニュースについて、産業スパイが 「観測機器の故障を世界の人に訴えたくてやっている」ということを散々言っている。 故障を修理するための税金が必要だということらしい。 宇宙に興味が無くなっていたので、聞き流していたのだけど、何度も、言ってくるので、 気付いた。

ベテルギウスは子供の頃、とても明るい星として、記憶していた。 一昨年、2等星近くまで暗くなったということだけど、それなら肉眼で確認できる。 産業スパイの嘘を見破ることができた。


6月21日 早大副総長の博士論文を活かすマルチプロセッサ

現在、早稲田大学の副総長である笠原先生の研究室に僕がいた頃に聞いた話。 笠原先生が博士号を取得したのはマルチプロセッサのスケジューリングアルゴリズムCP/MISF だったと思う。プログラムをタスクに分割して複数のプロセッサに割り当てる方法なのですが、 多少、抽象的な計算機が前提となっていた。普遍的な理論ではあっても、実際の計算機と僅かに乖離していた。 そして笠原研の並列マシンOSCARは、この乖離を埋めることに成功している。 理論に実機を合わせるみたいな。

時は流れて40年後の今、僕のキャッシュレス・クワッドが、多分、実際に役立つマルチプロセッサでありながら、 笠原先生の理論の前提となっている計算機と適合するということが起きた。

つまり研究は終わっている分野なので、笠原先生の理論を実装して儲かる事業を展開していく話になれば、 早稲田大学は、キャッシュレス・クワッドを応援することができるのではないだろうか。 キャッシュレス・クワッドのWZetaは税金プロジェクトでは使えない方針なので、そのあたりを、 考える必要はあるように思いますけど。

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


6月21日 コンピュータ・アーキテクチャの研究者の作業現場

産総研の須崎氏のツイートが目に入った。 僕は電気工学科を卒業後、修士は計算機工学専攻に入ったけど2年で卒業したから、 ワークショップというのが良くわかってないけど研究者の作業現場報告ということなんだと思っている。

Sixth Workshop on Computer Architecture Research with RISC-V (CARRV 2022)

並列マシンOSCARの研究室の若い先生がRISC-Vの発表をしてるということで見させていただきました。 デスクトップやサーバーで使うくらい大規模な不揮発メモリを使って RISC-Vを動かしてみようという試み。

それよりイギリスの発表、RISC-Vのマルチコアで暗号実装を考えたHYDRAが 気になったので見てみました。軽量のRISC-Vのコアを使って暗号向きの改造をした4コアのマルチプロセッサを実装したようです。 まず実装してみることが大事というレベルのものだった。 RISC-Vコアを使うことがポイントであるということみたい。
あまり関係ないけど論文というものに目が慣れてなくてオックスフォード大学かと思ったら、 オックスフォードにある企業だった。「東京の大学」を東京大学と間違うのと同じかな。

トルコの先生の名前が1週間前に、僕が プレスリリースで参照したトルコの論文の人と名前が似ていた。 あまり関係なかったけど図だけ読んだ。軽量なRISC-Vコアとメモリをアービターで繋いている図は、 印象的だった。
何故か?僕が数日前に日記に書いたキャッシュレス・クワッドにはアービターがない。 多分、イギリスの4コアHYDRAもAXIバスで接続されている。

東京の大学である早稲田の電気工学科には僕の時代に平山は3人います。 1年上の先輩はIBMに入社、2年下の後輩はMIS.Wというコンピュータ・サークルなので 非常に紛らわしいのです。暗号プロセッサSnakeCubeとキャッシュレス・クワッドの 平山は同一人物です。名前は直紀(Naoki)。記憶に間違いがなければ残りの2人の名前は同じ 「和彦」(Kazuhiko)ではなかったろうか。

世界のコンピュータサイエンスの研究者の方々は、とてもユーモラスな人たちが 多いのかと思いました。

昨日の日記にも書きましたが、アービター不要の 高速なキャッシュレス・クワッドを実現できるのはSDogコアのメモリアクセスが 他に無い特性を持っているからなのです。 普通にCPUを設計すると規則的なメモリアクセスには、ならないので。
このキャッシュレス・クワッドは、リアルタイム制御で、とても便利ではないだろうか。
ゲーム機のエミュレータを作るとわかるのだけど十分に高性能なCPUでなければ サウンドのエミュレーションがガタガタになる。サウンドは出るけど鑑賞には堪えない。
そこでトランジスタ数の少ないCPUコアを丸ごと割り当てれば、鑑賞に堪えるサウンドが低スペックのCPUでも出せる。
リアルタイムに超強い新しマイコン?みたいにならないだろうかということなのです。自信があるわけではないですけど。
新しいテクノロジはゲーム機を使って進歩させる流れとか、、、

これまでのCPU技術ではできなかった超細粒度並列処理も可能で、普通はできないAES暗号の暗号化の並列処理も、 マルチプロセッサでできるように思う。AESの並列処理は、 まだ実際に実装してないので確実な話ではないけど。 このキャッシュレス・クワッドの超細粒度並列処理がマイコン新技術になるか、ということかも。
Vattlessを思い出した人はあったかもしれない。 Vattlessは、かなり疎結合なマルチプロセッサ。 キャッシュレス・クワッドは、かなり蜜結合なマルチプロセッサ。全く異なるマルチプロセッサ。


6月20日 8bitクワッドCPUは復刻版OSCARミニなの?

前回の日記、「8bit CPUのキャッシュレス・クワッド」を書いたら、 それは復刻版OSCARミニなの?と思った人があったので解説します。

OSCARとは早稲田大学の現副総長が約40年前に開発した8プロセッサの並列マシンのこと。 高性能を狙ったマシンではなく、汎用的な並列マシンを開発して並列コンパイラの 研究結果の検証をすることを目的としたマシン。並列コンパイラは、 プログラムをタスクに分割して、分割されたタスクを複数のプロセッサに割り当てる。 効率的な割り当てをするアルゴリズムが、僕の卒論&修士論文の課題だった。

効率的な割り当てをするのに命令単位の実行時間がわかっていると精密に結果がでる。 このためOSCARは割り算まで1サイクルでできる実装になっていることで有名だった(悪い意味で)。

復刻版OSCARミニなの?という話に戻るがOSCARは3本のバスに8個のCPUが接続されるアーキテクチャ。 僕の言うキャッシュレス・クワッドは4個のCPUが集中共有メモリだけで接続されたアーキテクチャ。 アーキテクチャは違う。しかしWZeta SDogコアは全命令4サイクル。つまり並列コンパイラにとって、 最適なマシンではある。復刻版OSCARミニだと言うと副総長から苦情が出そうなので、 復刻版OSCARミニとは呼ばないことにします。

僕が並列コンパイラの研究室にいたのは1991年~1994年でした。 しかし既にOSCARは老朽化していたため富士通のスパコンVPを、新しいOSCARとしてOSCAR2という プロジェクトが立ち上がっていた。OSCAR2は4台のスパコンが集中共有メモリに接続された モデルなのでキャッシュレス・クワッドに似ているけど各スパコンにキャッシュが無い ということはなく、これもやっぱりアーキテクチャは違う。 参考までに言うと、沼津にある富士通のスパコンに研究室のマシン経由でアクセスして 集中共有メモリの性能をテストする作業を、させて頂いたことがある。 1年下の後輩は富士通に5人入っているので富士通のスパコン関係で僕を知っている人は 多いと思います。

高速なキャッシュレス・クワッドを実現できるのはSDogコアのメモリアクセスが他に無い特性を持っているからなのです。


6月20日 8bit CPUのキャッシュレス・クワッド

「キャッシュレス・クワッド」また勝手に言葉を作ったので忘れてください。

単なる8bit CPUコアのクワッドと言わなかったのは、これまで キャッシュレスのMIMDクワッドは無いだろうなと思ったから。 調べてないのでわかりませんが。

8bit CPU WZeta SDogコアならキャッシュレス・クワッドは容易に作れそうだ。 SDogコアはアドレスの前半をプログラムメモリ、後半をデータメモリに分ける設定が可能。 ほとんどROMとして使うMRAMを各コアのプログラムメモリに高速なSRAMを共有の データメモリに割り当てる。何がいいかと言えば、書き換えが回数が限られた遅いMRAMを使って マルチプロセッサで高速にみたいな。それほどメリットは無いかもしれないけど、 僕の修士論文はマルチプロセッサのコンパイラを高速にするアルゴリズムだったから。←あまり意味は無い。

実際にやるのかは、決めていないけど、マルチプロセッサの8bitパソコンは 便利かもしれないと思ったのです。8bit×4個で32bit級の性能とか宣伝できる(笑)。

FPGAのメモリ(Xilinx BRAMなど)はデュアルポートメモリであることが多くSDogでは 4コアのうち2つを1サイクルずらすとメモリ性能を落とさずにクワッドコアになる。

4コアのうち1つはメインCPU、1つはVDP(グラフィック表示用)、1つはサウンド用、 最後はテキストや漢字も表示できるLCDドライバとして使うと、何だか良さそうみたいに思えた。


6月20日 産業スパイの妨害活動について

今日の話ではなくて、ここ数年の話です。 パソコンのTPMの設定をしていなくて、BIOSを書き換えられて、どうにもボロボロにされてしまった。 日本製のTPMチップを作れたはずだと言っている僕としては、お粗末な話だが、 BIOS書き換えは恐らく産業スパイの仕業。 開発向けの何でもできてしまうBIOSを勝手に書き込まれたかもしれない。 1台はTPMの設定ができない旧型なので、どうにもならなかったのだけど。

参考までにBBルーターも同様で設定してあるセキュリティ機能が実は機能していない。 10個近いBBルーターを全部、倉庫送りにして、現在、一つもBBルーターを使っていない。

産業スパイが嫌いなマザーボードのメーカーはWindowsのウィルスで雑音を入れたり、 画面を8bitパソコン風に壊したりする。しかたなくマザーボードを買うためにネットを探すと、 台湾製のマザーに誘導された。 産業スパイが安心できて、かつ、その気になれば悪さを自在にできるメーカーなのだと思う。

産業スパイにお金が入らない活動をやろうとするなら、まず妨害するというロジックに見える。 このため産業スパイにお金が入るようなことを止めたいと願う人はあるように見えている。 しかしそのダークな手段で国の重要な産業を抑えているので、止めると、国が傾く。 そして国が傾く問題を使って、産業スパイは暴利を得る。 産業スパイを退治するのかは、ともかく、ダークな手段の改善は考えるべきかもしれない。


6月19日 WZ-660に液晶ディスプレイのシミュレーション機能追加

WZ-660は8bit CPUを搭載したパソコンの試作機。実機を作るためのものでWZ-660と言えば、 当面はWindowsやLinuxで動作するシミュレータのことを指す。

160x48の画面モードを削除しました。画面モードの設定方法が少し変わりました。 画面サイズは縦横8ドット単位で8~2048までの範囲で指定できるようになりました。 プログラムから画面モードを動的に変更できます。まだカラーのテストはしていません。 データメモリは64KBなので画面に割り当てられるのは、せいぜい48KB程度です。

WZetaの特性上、画面の横サイズは32、64、128、256、256の倍数が推奨です。 推奨以外の設定も可能ですがVRAMにデータを書き込むプログラムのサイズと性能に 大きく影響します。
産業スパイに妨害されて脳が痺れていたので開発が数日遅れたと思います。
画像は160x48(非推奨)の液晶ディスプレイです。 液晶だと実機でサポートするのは画面モードは1つになると思うので、 推奨サイズのどれかに決めたほうがいいのかも。
SHARPのポケコンだと150x32、160x32、240x32ですが、どれも非推奨サイズ。 どのサイズがいいだろう。128x48?、128x64?、256x32、256x48?

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


6月18日 政府関係の人が僕を助けてもいい状況になってきた

ここのところ、暗号プロセッサの広告のためのプレスリリースの作業にかかりきりで、 暇がなかったのですが、 6月14日のプレスリリースが終わり、時間ができたので、 最近2カ月の支払いをチェックしていました。産業スパイが終わっています。 政府関係の人が僕を助けてもいい状況になってきたと思います。

今回のプレスリリースは、前回の8bit CPU ICF3-Z の2倍近い費用効果との報告もあり、暗号プロセッサSnakeCubeも、少し知名度が上がったのではと思います。

画期的な発明の暗号プロセッサ(SnakeCube) なのですが、ウクライナで戦争が起きていることもあり、以前よりも輸出規制が厳しくなったようです。 日本人研究者であっても問題となるケースもあるようです。

つまり日本政府によって暗号プロセッサのビジネスを抑えられている状況にあり、 それなら、6月1日の日記に書いた「暗号プロセッサのお買い得プラン!?です」 の案もありかと思います。今回のプレスリリースのリンク先にも、 「暗号プロセッサSnakeCubeとは」を書いています。

上記は、国内の商用をうまく利用して、最終的に海外へ出せるように繋げていくこと考えています。

8bit CPU WZetaのほうも、技術的には好調で、 うまく立ち上げたほうが経済的に良さそうな見通しになってきています。 WZetaについては、少し手を考えてみたつもりです。講談社様よろしくお願いいたします。 これに続いて雑誌社の方々がWZetaの話をしてもらえればと思っています。 政府が推進するLPWAのIoTデバイスで活躍できるかもしれない。 WZetaは極限までコストを下げるのに向いています。安価で小容量のSRAM代替向けMRAMなど、 新しい技術を利用できる機会も増えます。 LPWAでプレスリリースで公開したCC0(パブリックドメインと同じ)のコードが役立つのではと 思っています。

暗号プロセッサは政府関係の方や企業の方、よろしくお願いいたします。 僕は日立を退職するときにICF3 を競合他社に持っていける条件で辞めているので、富士通やPanasonicみたいな 国内大手との協力でも大丈夫です。

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

写真のマグカップは、 講談社が行っているキックスターターのプロジェクトのリターン。 マグカップの下にあるのはXilinxの大型FPGA Alveo U-50。この大きさでもRSA 3万ビットはいけるかも。



6月15日 WZetaはLPWAの端末向けとなることを想定

暗号プロセッサSnakeCube を何とかしないといけないけど8bit CPU WZeta の話。
8bit CPU WZetaでパソコンを作る話をしているのでWZetaが8bitパソコン向けだと 思っている人があるかもしれない。元々、LPWAなどのIoT端末を想定しています。 LPWAを使ったアプリケーションで何ができるのか、僕には考える時間が無いけど、 今後、新しいアプリケーションが出ることが期待されていて、一度に大量に必要とされる 端末のコストは、できる限り安価なものが欲しいところだと思います。 こういったデバイスでは休止状態から、一瞬でアクティブになって動作をする 必要があることもあり、MRAMなどの新しいメモリが便利で、WZetaはそれに良く適しています。 新しく通信ライブラリを作るコストは、必要になると思いますが。

LPWAなどのIoTの新規市場は、新しい人が入りやすく、 WZetaを知ってもらえていると、いいかもしれないと思っています。

CPUが好きな人は、Z80などのCPUと比較して、どうしてWZetaが高性能なのかを考えるのも 面白いと思っています。WZetaはメモリと同じクロックで動作しますがZ80は メモリの約2倍なので、レジスタ間の操作はZ80が高速だったりすることもありますが、 データの配置を工夫することでWZetaはかなり高速になります。またWZetaにはスタックが ありませんが、ハードマクロ命令を1段の高速スタックにすることでZ80よりも 高速になることもあります。


6月15日 WZetaのフォーラムサイトのリダイレクトについて

僕が運営するサイトの細かいことなので日記よりSNS misskey.ioのページ機能を使って 連絡する場合が多かったのですが、どうもmisskey.ioの調子が悪いみたいなので日記を使います。

8bit CPU WZetaの情報共有サイトとしてフォーラムサイトを昨年立ち上げました。 日々、気付いたことを投稿していましたが、開発で忙しくて、不正アクセス対策に時間を かけられなかった結果、不正アクセスにより会員を勝手に6万人作られて、一時閉鎖となりました。

この後、フォーラムサイトへのアクセスを WZetaの公式サイトにリダイレクトしていましたが、不正アクセスが続いていて、 1日で2万ヒットするなど、公式サイトのサーバー負荷が上がるような状況でした。

そこで現在、少し対策をして不正と思われるアクセスについては、リダイレクトしない設定をしました。


6月14日 量子コンピュータの量子ビット数とRSA暗号崩壊との関係

量子コンピュータについてはニュースで読むくらいの知識しかありませんが、 どうも、納得できないので、書いてみます。
これまでも、何度か量子ビット数がRSA暗号の鍵長のビット数に近いところまで来たという ニュースがありました。記事には量子ビット数しか書いてなくてRSA暗号を解読できるとは 書いていないのですが、RSA暗号はもうダメみたいな雰囲気になったことがあります。

量子アニーリングマシンだったり、時分割多重の量子ビットだったりしてRSA暗号が 解読できないことがわかると、安心するみたいなことがあったのです。

最近のIBMのロードマップにも、量子ビット数があって、もうすぐRSA暗号が解読されそうな 雰囲気なのですが、よーく見るとモジュールと書いてある。異なるモジュールの量子ビットは、 同期できるのか?同期できなくてもRSA暗号は解読できるのか?など。

暗号プロセッサSnakeCubeはRSAの鍵が長くなっても効率を落とすことなく 性能を上げることができるアーキテクチャです。一応、半導体チップがある限り無限に。 10万ビットくらいはXilinxの大型FPGAがあれば、すぐにできるのではないかと思っています。

IBMの量子コンピュータで単一モジュールの量子ビット数では10万ビットを解読できず、 複数のモジュールでは解読できない状況だとするなら、当面、10万ビットのRSA暗号は 破られないことになる。

暗号プロセッサSnakeCubeは、今日、プレスリリース をしましたが、ここで機会を失えば、この国の損害が大きくなる可能性があります。 SnakeCubeは暗号製品なので、政府の輸出規制のため僕個人の思惑で海外に販売することはできず、 この国と共にあるのです。今一度、考えてもらえればと。


6月14日 Sパラ解析していたら「稼がせてやる」と言われた

1996年ごろ、僕が大型コンピュータ事業部にいた頃の話なので、読み飛ばして問題ありません。

1996年は日立からIBMのCPUを搭載した初の大型コンピュータがリリースされた年です。 IBM CPUを受ける日立の半導体の性能が悪くてIBM製の大型コンピュータの性能と比較して劣る状況だった。 ざっくり言うと、僕を含めた東大卒設計チームのメモリOC設計によってIBM製の大型コンピュータと 同等の性能の製品を完成させ世界に売れたというやつです。

僕は電気工学科卒業とはいえ研究室ではコンパイラの研究室に入ったので電気に詳しいわけでは なかったけど、電子回路シミュレーションをするのには、非常に都合の良い人材だったため、 前述のメモリOCのための電子回路シミュレーションで活躍できた。

この後、自作のSパラメータ解析ソフトを作り始めていた。IBM CPU搭載の大型コンピュータをリリース後、 少しの間、放置されていたのです。

直近の稼ぎにならない自作Sパラメータ解析ソフトの作成を眺めていた 東大卒が「稼がせてやる」、そう言ったのだ。

選択権があるわけではないが、心浮かれた。 非東大卒の上長の1人が「君はハードウェア開発希望だったよね」と言いながら、 Microsoftのエクセル作業をさせて貰えた。スキルの身につかない雑用だが 「稼ぎになる」という想いで、仕事に打ち込んでいた。 長時間残業の中、自宅では論理設計の仕事をしたいと考えていたのでCQ出版が販売していた 約20万円のVHDLシミュレータを自費で購入して、自宅のパソコンでSHA-1の設計をしていた。

この後、僕に仕事が集中し、事業部の稼ぎ頭になった大型コンピュータの開発で大活躍した。
参考まで言うと「稼がせてやる」と言った東大卒は、最終的に日立ではかなり偉くなっていった。


6月13日 WZetaのBAL命令の不具合を修正した設計図

C言語シミュレータでは正しく動作していたのですがverilogと設計図のほうにBAL/BR命令の単純なバグがありました。 verilogのほうは昨日、修正しましたが、設計図のほうも修正して公式サイトで公開しました。
「WZeta SDogコア 設計図β版先行」6月13日版
更新したのはSDogコアだけです。SBaxには今回のBAL/BR命令のバグは無いので更新していません。


6月12日 WZeta BIOS(べき乗剰余だけ)をリリースしました

verilogの実装の不具合で少し遅れましたがverilogシミュレーションも正しい結果が 出力されたのでリリースします。次のURLからダウンロードできます。

https://wzeta.idletime.tokyo/wzetabios.html


6月12日 WZeta BIOSの進捗

6月10日にリリースしたCC0のアセンブラのコードには何の問題もありません。 WZeta BIOSは6月14日に広告配信が予定されています。 既に公開している仕様に変更予定はありませんが、アセンブラコードは少し修正をする予定です。 昨日までに間に合う予定でしたが、広告配信の時刻までに間に合うのかギリギリという感じです。 既に公開しているコードでアプリを開発しても影響しないため、間に合うように急ぐことはしない予定です。 アプリ開発者は修正されたBIOSコードに差し替えるだけです。

遅れている原因に興味がある人以外は、これ以上、今日の日記を読む必要はありません。

遅れている原因は、正しいアセンブラコードがC言語ベースのシミュレータで正しく動作している。 にもかかわらずverilogのシミュレータでは正しい動作をしない。 原因はverilogシミュレータのBAL/BR命令の実装に単純なバグがあったということ。


6月11日 IchigoJamのチップ不足にFPGAのソフトCPU

ツイッターのTL上に子供向けBASICパソコンIchigoJamの YouTube動画の紹介があったので、拝見させていただきました。
動画の最後のほうにIchigoJamの生産で半導体チップ不足で困ったから入手性の 良いチップがいいということを話していたようです。

入手性なら欧米より中国製のチップという流れでしたが、できれば日本製がいいということも、 話していたようです。

それならFPGAを使ったソフトCPUを使えば、入手性も良いと思われるし、製造終了という問題が起きにくいかなと。 ソフトCPUなら僕のWZetaがコスパが良くてお薦めかもしれない。 RISC-Vはコンパイラがまだ十分でないという意見もあったようですけど、 福野さんがマシン語でBAISCインタプリタを作ればいいのですから。
IchigoJamが税金を使ったプロジェクトでなければ、ですけど。


6月10日 WZetaの命令コード内パリティ

日経新聞の記事(登録要)
「MRAM、書き込み電力1000分の1 大阪大学が圧電体で道」

言いたいことはWZetaの命令コード内パリティによってパリティ無メモリで高い信頼性が得られる。 MRAMなどの新しいメモリの実用化を早めるのに役立つということ。 ARMでは、できないことの一つです。

WZetaの命令セットには命令コード内パリティを置けるスペースがあります。 ただしパリティ有メモリと同じ信頼性を得られるわけではないのでパリティ有メモリを置き換えるものではありません。 今までパリティ無メモリを使ってきた用途で信頼性を高くすることに使われることが多いかもしれません。 それがMRAMなどのメモリの実践投入を早めることに繋がるだろうということ。

マイコンではハーバードアーキテクチャが主流なのでプログラムとデータで2つのメモリを必要としますが、 WZeta SDogコアは1つのメモリで動作するように設計されているためMRAM、1個で動作するのです。

でも、最近のMRAMの研究の方向は大容量化という気もしているので、WZetaとそれほど関係が無いのかもしれない。 劣化が速くても良い用途を考え、安価なMRAM、あるいは、類似のメモリを考えるのかも。

余談
東大卒の薦めで大型コンピュータの事業部で働いていたころは 日経新聞を取っていたのですけど、、、


6月10日 事前定数不要のべき剰余演算のアセンブラコード(3)

CC0(パブリックドメインと同じ)のアセンブラのコードをリリースしました。 WZeta BIOSのほうは明日までにはリリースされる予定です。
https://wzeta.idletime.tokyo/wzetabios.html


6月9日 事前定数不要のべき剰余演算のアセンブラコード(2)

動作検証中。単純な乱数のテストではなく端の値をしっかりチェックしています。 AMD Ryzenでは1回 6時間ですが、14年前のIntel Core i7では12時間以上です。 しかしCore i7は、ずっとシミュレーションで使えるので、いろいろなケースの 動作検証ができると思います。自作の動作検証プログラムはスレッド数を指定できるので 論理コア数の全てをシミュレーションで使えます。


6月8日 スマホの電源が落ちていました

暗号プロセッサの広告原稿に「お問い合わせは電話でお願いします。」 と書いていたのですが、スマホの電源が落ちていました。たまに勝手に落ちます。 重要な連絡で、電話が繋がらない場合はSNSのほうも試してみてください。


6月7日 事前定数不要のべき剰余演算のアセンブラコード

事前定数無版のコードが正しい結果を出したので、もう少し動作検証をしてから、リリースします。 事前定数有版よりもコードが48バイト大きく、実行時間も約0.06%増加しましたが、 事前定数を計算する必要がないので、一般の人には便利だと思います。


6月6日 妨害でコードの品質が低下するため産業スパイの解散を!

乗算命令のない8bit CPUでも演算できる1024bitべき剰余演算のアセンブラコードを CC0で5月28日に公開しました。事前定数がわかりにくいという意見を受け、事前定数無し版の アセンブラのコードの開発を始めました。

長年の産業スパイの攻撃により、頭も体も、かなり衰弱しています。 これまで、いろいろ努力し、もがいて、心中が穏やかでないことも多いです。 左目をつぶりながら、この日記を書いています。

CC0(パブリックドメインと同じ)とはいえ品質の高いコードをなるべく 提供できるようにするためには、そろそろ産業スパイを解散させるときではないかと。


6月5日 パブリックドメインで公開したコードの使い方(2)

使い方(1)の続報。これから事前定数不要のコードを開発します。 使い勝手のいいコードになると思いますがサイドチャネル攻撃耐性は低いことを考える必要は、 あると思います。


6月4日 パブリックドメインで公開したコードの使い方(1)

乗算命令のない8bit CPUでも演算できる1024bitべき剰余演算のアセンブラコードを CC0で5月28日に公開しましたが、事前定数がわからなくて、使えないという意見がありました。 専門家であれば説明がなくても、わかるはずなのですが、普通の人が使えないと、 あまり役に立ってないと言う人が出てきたので、検討しています。

一般の人でもわかる詳しい使い方は、本にして解説しようと考えいたのですが、 少し待ってください。説明とコードを出すように準備します。


6月3日 日本の将来をきわどく明るくして地球環境に良い話?

昨日、日記に書いたアイディア、SNS上での反応がなくて、 言っていることが、わからなかったのかも知れないと思ったのです。
僕は半導体プロセスのエンジニアではないので、半導体プロセスを鍛える 具体的な方法は、わからないのですが、ビットコインのマイニングASICでは、 2つの演算器に同じデータを入力して比較すれば宇宙線などによるエラーを検出できる。

SSLアクセラレータのSSLサーバ証明書の電子署名がRSA暗号の場合、計算された結果を、 検証できればいいので、演算器は1つで良い。検証はCPUで計算してもセキュリティ的 にも問題ない。RSAは署名の計算量は非常に大きく、検証の計算量は小さい。

定量的にどうなのかは、わからないけど、これだけを考えると、SSLアクセラレータ のほうが効率良さそう。しかもビットコインより必要性の高い演算。

次の段階に話を移すと、量子コンピュータによる解読リスクを考え、 RSA暗号の鍵長を大きくする。RSAは鍵長が大きくなると計算量が膨れ上がる。 すると半導体プロセスの検査時間が増え、SSLのセキュリティも多分、向上する。 1つのデータセンターだけでも、それなりの検査時間を稼げる。

暗号プロセッサSnakeCubeを開発したほうが、良いのではと思います。

実際にやってみると、あまり上手くいかないかもしれないけど、 少なくとも、僕の言っていることを理解できる人は、 この日本にいなくては、ならないと思う。

石油資源の節約とCO2削減効果を試算できる人があれば、予算を捻出することも、 できるかもしれない。予算なくても、できるなら、より良いことなのだと思いますが。

黙っていると、最も最悪の選択になるのかもしれない。


6月2日 半導体の暴露っぽい話かもしれないけど良いアイディア

恐らくビットコインのマイニングのASICは、最先端プロセスを鍛えるためのもので、 それをビットコインというビジネスに乗せて、うまくやり繰りしているのだと思う。

最先端プロセスを鍛えるならSSLアクセラレータのほうが高い価値であるため、 強引にでもSSLアクセラレータにしたほうが社会全体の最適化ではある。 いや、価値はわからないけど電気の無駄の解消がいいと思えています。

実際に詳しく検討しないと、わからないですが、 技術的にはSSLアクセラレータを最先端プロセスを鍛えることに利用できるように思います。 ビットコインのマイニングAISCほど楽ではないですけども。 電子署名に限定すれば、最先端プロセスのハードが間違ってもCPUが結果を検証できる。 RSAは署名は非常に重いのですが、検証は非常に軽い公開鍵暗号なのです。


6月1日 日本の暗号プロセッサ「神風」知ってます?

参考情報として。僕も詳しく知らないのですが2016年に創業の日本発のユニコーン企業が開発とか。
TRIPLE-1 半導体で世界一目指し逆算する事業構想

『KAMIKAZE』7nm ASICチップ開発プロジェクト

日記のタイトルは漢字で「神風」と書いていますが、正しくはKAMIKAZEのようです。 暗号資産ビットコインのマイニング用ASICチップです。

少しICF3(1999年)の話をします。 ICF3には僕が原案を設計したSHA-1の回路が入っています。 同時期のIBMのメインフレームの5倍以上という性能でした。 あのIntelがSHA-1に対応したのは2013年のIntel SHA Extensionsですから、 IntelがICF3に遅れること14年くらい。大型コンピュータはコプロセッサで、 とっくの昔に対応していた。そしてビットコインのマイニングにはSHA-1の後継、 SHA-256がアルゴリズムとして採用されています。

当時、僕はICF3を開発していたこともあってTRIPLE-1がKAMIKAZEの 開発を始めていたころから、僕にKAMIKAZEが技術情報を盗んでないか? みたいな、問合せを受けたことがあります。 GMOやDMMが大々的に宣伝していた記憶がありますが、今、調べると、 どうも撤退してTRIPLE-1だけが残っているみたい。

僕の暗号プロセッサSnakeCubeも、 やればできるんじゃないかって。日本国民で誰か、立ち上がる人は、ないだろうか。

暗号ハードウェアについてあまり知らない人向けの補足
KAMIKAZEのSHA-256の高速化とSnakeCubeのRSAの高速化との違いは設計の難易度。 SHA-256は、ある程度、優秀なエンジニアなら短期間に高性能なハードが開発できる。 一方、RSAはRSA暗号の発明以来、世界各国の研究者が、様々な方式を研究し論文にしてきました。 2018年になって、ようやく僕が、画期的な性能のハードを発明できたということ。


6月1日 暗号プロセッサのお買い得プラン!?です

SnakeCubeは インターネットや電子署名などの社会インフラで使われている公開鍵暗号を高速化するプロセッサ。 量子コンピュータは着実に進歩しています。量子コンピュータによる解読に耐性を持つ公開鍵暗号の 研究も進んでいますが、RSA暗号の延命が最も経済的になるケースはあると思います。 そういったケースではSnakeCubeの他に競合できるものはありません。
インターネットのブラウザの暗号化は全世界的に話を進める必要がありますが、 電子契約では、システムが個々に決断をすれば良いためRSA暗号などの 従来暗号のみのプロセッサを考えることはできるように思います。

現在、電子契約システムは国内で増えている状況です。 量子コンピュータの進歩による解読リスクを考えるなら、 電子署名の鍵長は、いくらでも大きくしたいという需要はあると思われますが、 RSA暗号の鍵長は、一般の人でも大きくできるメリットがある半面、計算量が膨大になるため、 画期的な発明による暗号プロセッサSnakeCubeは必要になると思われます。

RSA暗号による電子署名の鍵長を、できる限り大きくして、 電子契約システムの安全性の差別化というところで SnakeCube は活躍できるかもしれません。電子署名だけに頼るシステムでなければ、 耐量子暗号を装備した高額な暗号プロセッサよりも、安価であるほうが 重要ということはあると思われます。RSA暗号のみでよければSnakeCubeの発明者、 平山直紀1人で設計図のほとんどが揃います。

日本の将来のために国民が立ち上がれるのか? これで立ち上がれなければ、それなりの日本になると僕は思っています。


6月1日 「WZeta BIOS」の仕様とソフトを公開

5月27日の日記で公開した乗算器のない8bit CPUで高速に べき乗剰余演算するコードをBIOSで定義して、ソフトウェアにしました。

https://wzeta.idletime.tokyo/wzetabios.html


5月31日 産業スパイのサイバー攻撃で頭の調子が悪い

サイバー攻撃で頭をやられて偏差値7くらいになっているかもしれない。 作業ができる時間が少ない。オマケに眠らされている。 僕が産業スパイの気に入らないことをやっていると、パソコンの画面が、壊れる。 次の画像が壊れた画面。いまのところ再起動で復帰するけど。

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



5月30日 ニュース、Google後援の「Open MPWプログラム」

GIGAZINE記事
無料で自分のチップを作れるGoogle後援の「Open MPWプログラム」
僕は大型コンピュータの暗号プロセッサ3個を本気で開発した経験があるので、 試作は、必要なさそうかなという気がしています。 そして33万円したXilinxのAlveo U50でSSLアクセラレータを考えていたりする。 でもGoogleさんが、本気で僕のWZetaを製品化したいということだと、 考えられることもあるかもしれない。

公開されているプロジェクトを一通り見てみました。全プロジェクトを 「CPU」「MCU」「8bit」で検索、僕の8bit CPU WZetaと競合するようなものは無いか、 ということを調べました。

RISC-Vがほとんどですが8bit CPUは2つありました。 一つは日本のプロジェクトですが、非実用でないといけない教育用CPUなので 比較対象外。もう一つも教育向けのシンプルなアーキテクチャで アドレス空間(11bit?)なので狭すぎ。

FPGAではなくてAISCのハイブリッドSnakeCubeが 「この国に必要だ」という人がいなくて、いいのかという気もしています。


5月30日 WZetaはコンテンツ保護用途にも最適かも?

僕のツイッターのサブ垢のTLは8bitパソコンや レトロゲーム機などのツィートが多い。 最近の話題は内藤さんによるとPlayStation2のメモリカードのスロットに microSDの入ったメモリカード型のデバイスを刺してCD-ROMの代替をすることだ。

なるほどPlayStation2の実機は古くなってCD-ROMのハードが壊れているものも 多くなっていて、修理するより、CD-ROMのisoファイルが入ったmicroSD入りの、 メモリカードで代替できるというのだから、便利かもと

isoファイルは、いくらでもコピーできるから、コンテンツ保護できないか? ということなのかもしれない。

このコンテンツ保護に必要なシステムについては、あまり考えてないので、 わからないけど、生産されてから数百回~千回程度の暗号演算でいい場合は、 WZetaは、ジャストミートする。 従来マイコンはハーバードアーキテクチャが多く、プログラムメモリと データメモリを別に持つ方式だが、WZetaはノイマン型アーキテクチャで 8bitのデータ幅のメモリ1個で動作して、かつ、公開鍵暗号に強い。 MRAMなどの不揮発メモリが、数百回~千回程度の暗号演算なら、安価であるという 条件がクリアできればになるが。

今回の話に戻すと、20年前のICカードのチップ入りSDカードを再生産すれば 良いような気がする。 そう。日立、東芝、松下の3社で共同して推進していたMOPASSカードのこと。 早稲田MOPASSとも呼ばれていて、各社にいる早大卒の人たちが集まり、 やっていたコンソーシアム。僕も参加していた。

数回、MOPASSコンソーシアムの集まりに参加したのですが、東芝から来ていた サブリーダが「超流通」をやっていた。詳しくはネットで検索して調べてもらえば 良いのですが、今回のコンテンツ保護をするための技術。 「超流通」をやっていた人が、早稲田大学の現副総長の研究室の出身で、 僕と同期というのは、なんの巡り合わせなんだろうと。 SHARP X68000でリブルラブルを作るほどの腕らしいよ。


5月29日 WZetaで一般CPU互換のスタックの実装

WZetaはスタックの機能がないので、スタックを利用するアプリは ソフトウェアでスタックを実装する必要があります。 システムにとって最小限のスタックを実装することで高速で省メモリなシステムを 作ることができます。しかし一般CPU互換のスタックの実装が遅くないか? という疑問のためにWZetaの普及が進まなくなるといけないので、 一般的なCPUのスタックと同等の、なるべく高速な「互換スタック」の実装を考えてみました。

互換スタック PDF

スタック上のメモリからゼロページのメモリに転送する^LDDWというハードマクロ命令の実装が、 良くできています。とりあえずあまり改変せずにコンパイラを移植してみるという目的に 便利かもしれない。 WZetaはプログラミングテクニックを駆使できる余地が、普通のCPUの10倍くらいある感じです。

あなたとWZeta、今すぐプログラミング
あなたのプログラミングテクニックが明日を創る。かもしれない。(笑)


5月28日 WZeta SDogコアの設計図を更新

キャリーフラグをクリアするCLC命令、連続したメモリを0にするLOOPZERO命令を追加した SDogコアとSBaxコアの設計図を更新しました。公式サイトの ダウンロードのページから入手できます。 もう少し直したいと思っている点があるので最終版ではないです。

スタックの雑談を書いていましたが、削除しました。


5月27日 乗算器のない8bit CPUで高速にべき乗剰余演算するコード

軽量で非常に良くできた8bit CPUのオープンソースWZetaを普及させるために RSA暗号や楕円暗号などの公開鍵暗号で使われるべき乗剰余演算のアセンブラコードを CC0ライセンス(パブリックドメインと同じ)で公開しました。 テック系のSNSに投稿しました。

crieit
Spotlite


5月27日 WZetaシミュレータ、お試し公開(12)

新規命令LOOPZEROの追加。$PRINT命令で表示がずれるバグの対策など。 verilogのバイナリを最新版に更新。

アセンブラに強い人とか、わかる人は、わかるという説明しかないので、 悪意、敵意の無い人は、お気軽にご質問ください。

公開ファイル WZetaシミュレータ バイナリのみ
WZetaSim2022_05_27.zip
SHA-1 : 4b3deba1decf9c2df8618c1f01855bcb34cf3bf9


5月26日 WZetaオープンソースライセンスの状況

自分のために整理したものを日記にしました。

WZeta ISA命令セットアーキテクチャ仕様
なるべくRISC-Vと同じにすることを考えていますが、RISC-Vのライセンスが、 僕の考えと著しく合わない場合は不明。

SDogコア
現在、WZetaの命令セットアーキテクチャとSDogコアの実装仕様とごちゃ混ぜですが、 RISC-Vと同様な考えで、実装に対するライセンス。apacheライセンス2.0なんかを検討しています。

SBaxコア
SDogコアの機能削減版でハードマクロ命令と割込み機能がありません。 ライセンスはSDogコアと同様か。

RedCoderコア
停滞しているアドレス拡張命令を実装したコア。完成は、まだ先。

WZPC規格
CPUにWZetaを搭載したパソコンの規格。WZetaの普及のために作ろうとしています。 規格のライセンスで適当なものを探しています。

WZ-660
WZeta CPU搭載の8bitパソコンの製品。 FPGAを使った実装になる予定で部品の調達まで完了している。

WZ-660シミュレータ
WZ-660のC言語実装のシミュレータ。現在、クローズドのフリーウェア。 パッケージにはicarus verilogのバイナリも入っているので限定的な verilogシミュレーションは可能。

WZPC BIOS
画面出力ハードや数学関数の実装とパソコンソフトとを繋ぐインターフェース。 MITライセンスを考えていますが未定。

WZPC FPGAファーム
8bitパソコンのハードとして使われているFPGAのファーム。まだ存在していない。 将来的に、有料化検討。

ICF3型1024bitべき乗剰余演算プログラム
暗号プロセッサSnakeCubeの広告投稿原稿のために急遽、作成しているWZetaのソフトウェア。 パブリックドメインを考えています。 WZetaに楕円暗号の実装を促進するためのサンプルプログラム。 8bit加算器1個で効率的に演算する方法ですが、 絶対時間的には遅いため、軽量な楕円暗号か、数時間かかっても良いIoTシステム向けに 使えると思われます。WZPCの暗号BIOSに搭載できる形式になっているので、 WZPCの暗号BIOS向けのアプリが開発されれば、このべき乗剰余演算ソフトをSnakeCubeに 差し替えることが容易な予定。


5月26日 組込みシステム技術協会 第6回 RISC-V Webセミナー

高度な情報は税金を出さないと難しいのかもしれないけど、 初心者向けにちょうど良いかなと思われたのでプレゼン資料の紹介。 暗号装置をブラックボックスのまま使いたく無いという単純な理由。
RISC-Vのセキュリティ技術(TEE, Root of trust, Remote Attestation)
発表者の須崎 有康 氏に僕は一度も会ったことはなくて経歴を拝見しました。 東京農工大学から東大で博士を取得とのこと。東京農工大といえば近くに日立の 中央研究所があって東京農工大の人が出入りしているのを見ているので日立の 色濃いところの人だと思っているのですが、僕の専門分野と非常に近いこともあって、 ツイッターのツィートは、良く見させていただいています。

バックで暗躍する部隊が、競合する敵部隊をなぎ倒して、その費用回収するにしても、 なぎ倒し方は今後の改善点のような気がしています。 前面にいる人は、それに気付いてないのかもしれないですけど。

参考まで日立のセキュリティ関係で同じ名前の人がいて間違いやすいです。 もう1人は、CRYPTREC暗号リスト(電子政府推奨暗号リスト)で良く見かける 洲崎 誠一 氏です。ICF3(1999年) の開発が映画化でもされる日には、登場するかもしれない人物かも。 モンゴメリ乗算のアルゴリズムをFAXで僕に丸投げした人です。 丸投げ後、僕や工場の人間が、わからないから解説してくれというお願いを待っていたのかもしれないですが、 僕が2日で理解してしまったので、研究所にあまり払わなくて良いことになったから、 ICF3の開発が進んだ、ということなのかと思ってます。 (当時、大学では数学科以外は暗号は全くやらない)

脱線しましたが、今回の発表資料のTEEは、一般の人が知っておいていい内容だと思ったこと。 日立関係の問題は、快く思っていないのですが、参照している以上、紹介するべきだと思ったこと。

TEEが直接、僕に関係するとすれば8bitパソコンのCPUにTEEみたいなものを装備することなの かもしれないですが、CPUにアレコレ機能追加するより、暗号プロセッサを着けて解決するので、 直接関係しない予定です。


5月25日 WZeta以外の命令コード逆順の自作CPU

WZeta以外の命令コードのオペコードとオペランドを逆転させた自作CPU、 TTM8の紹介。
https://www.switch-science.com/catalog/7911/
これはCPUの仕組みを理解する目的で作られた自作CPUキットです。 TTM8は、WZetaと同様に命令コードを逆順で解釈するアーキテクチャです。 Z80や6502などの8bit CPUの命令コードは正順なので、 逆順は利点もありますが、欠点もあるということなのです。 TTM8は教育用なので欠点を考える必要がなかったということなのかも。

WZetaは命令セットの逆順の欠点を対策して実用的な命令セットにしています。 1バイトで64KBのメモリアドレスにアクセスできるアドレッシングや、ハードマクロ命令です。 逆順ではオペランドの数は、どうしても固定値になりやすく、そうなった場合、 プログラムコードが冗長になってしまいます。 具体的にはZ80などの可変長命令コードでメモリをアクセスする場合、 1バイトのオペコードと2バイトのメモリアドレスでは3バイトですが、 WZetaでは1命令に1バイトのオペランドしか扱えないので2命令、4バイトになるのです。 そこでハードマクロ命令でプログラムコードを節約できる仕組みを追加しています。 ハードマクロ命令はIoTデバイスなどのように決められた用途のみで使われる環境では、 その効果を発揮します。仮想マシンのように使うこともできますが。

TTM8よりWZetaのほうが先だったのでTTM8の開発者にツイッターで 「あんまり僕のモノマネしないでください」といったことがありますが、 そのときにTTM8の開発者はTTM8以外に逆順のものを見たことが無いと言っていました。 TTM8のマニュアルには著作権表示があります。


5月25日 サイバー攻撃され作業能力低下

産業スパイによる電波型サイバー攻撃で視神経を中心に妨害されています。


5月24日 WZetaと40年前のファミコンCPUとの比較

WZetaは8bit CPUですが、トランジスタ数当たりの性能と トランジスタ数を少なくすることを目標とした設計のため40年前あたりのZ80とか、ファミコンCPU、 6502との比較が適当だと思っています。ちょうど6502のことが書かれているサイトがあったので紹介します。
https://pgate1.at-ninja.jp/NES_on_FPGA/dev_cpu.htm


記事には「命令フェッチの後に必ず第一オペランドがフェッチ」と書かれています。 以下は、さっきサブのツイッターでツイートした内容。

WZetaは6502やZ80と違って第一オペランドのフェッチが先。インデックスレジスタは無いけど、 ゼロページをインデックスレジスタにすれば、インデックスレジスタに代入しなくて良い。 これを便利にするために特殊なINC命令がある。

6502はCISCでインデックスレジスタやスタックが有る。 WZetaは非CISCでインデックスレジスタもスタックも無い。 これでアセンブラの腕次第ではWZetaはZ80より高速になる。 圧倒的に高速ということもある。 データの配置を考えることが高速な理由になるなかな。


5月24日 WZetaってオープンソースなの?「紙と鉛筆だけ」の発明

最近のSNSの様子で僕がWZetaの資金集めをしようとしているのではないかという評判のようです。 実際、8bitパソコンの販売ができそうか、考えていますが、お金というより、僕にまとわりついている 産業スパイを転職させることが目的です。ただお金が入ってこないと、お金は出てこないということかもしれない。

WZetaトランジスタ数当たりの性能、命令セット内パリティ、ハードマクロ命令など、 圧倒的な新技術のオープンソースなので、世界に広まると予想しています。圧倒的ですから。 そして世界の人が、WZetaに繋がる暗号プロセッサSnakeCube の存在を知ることになるため、そのライセンス販売が可能になるかもと思っています。

つまり産業スパイを転職させればWZetaは、有害性のない良質な、無償のオープンソース だから広めましょう。CPUハードは僕の独占になりますが、ソフトは開発した人のものなので 成果の切り分けができるので、うまくいくような気がしています。 ただSnakeCubeのライセンス販売が鍵かもしれない。

余談ですがCPUの命令セットは、その作り方で、効率の良いもの悪いものができます。 WZetaは、常識を破る変則的な命令セットですが、高い効率であることが判明しつつあります。 人類に半永久的に使われる命令セットになることもあるかもしれない。 その命令セットの発明に必要だったのは「紙と鉛筆だけ」みたいな、話です。 いつも決まった人しか儲からない絶望的な世界では、真面目に働くということは愚行になる、 そんな雰囲気を払拭できるいい話かもと、我ながら思っていたり。 実際には紙と鉛筆だけでなくてFPGAの存在も大きいのですけれども。


5月23日 WZetaの新規命令、LOOPZERO実装完了

昨日の日記に書いた連続したメモリを0にする命令だけを追加しました。もう一つは断念。 このLOOPZERO命令はverilogによるシミュレーションも正しい結果になってます。まだ十分な検証量ではないですけど。

ニモニック LOOPZERO コード 3900h

コードはLOOPINC 0と同じですが、今後はLOOPZEROとして実行されます。

ザイログ Z80で画面クリアなどのために連続したメモリを0にするにはLDIRを使うと 1命令になりますが、ネットで調べると1バイト当たり21クロック。 このため高速性が必要な用途ではPUSH命令を使っている人が多いようです。 ループアンローリングでプログラムコードをどのくらい無駄にするかに依存しましが、 13~5.5クロック程度でしょうか。

WZetaのSDogコアのLOOPZERO命令はループアンローリングなしに1バイト当たり4クロック!です。 最大256バイト、256バイト境界を超えられないという制限はありますが、 LOOPZEROを複数回、実行すれば257バイト以上もできるので問題はないと思います。

LD A,&VRAM.H
LD B,0 ; (&VRAM.L)
LD C,255 ; 256回繰り返す
LOOPZERO


WZetaとZ80の比較ができるといいのですけど。 MSX3のスペックにFPGAの性能とLUT数、FF数、周波数なんかが、書かれていると、 すごく比較ができるのかな。でもMSX3のZ80互換なCPU、R800は内部16bitという話もあるし、 絶対的な性能では圧倒的に負けるのかもしれない。 トランジスタ数を考えた性能で比較できると楽しいのかもしれない。 MSX3はゲーム関係で、税金プロジェクトではないと思っていますが、某大学が関わっているようにも見える。


5月22日 WZetaに新規命令2個追加の検討を開始

検討の開始ですが、早めの連絡が良いかと思って日記にしました。

1つは連続したメモリを0にする命令。初期化とか、画面消去などで良く使われると思います。 追加しようとする理由はトランジスタ数当たりの性能が良いと予想されたため。
参考までにZ80で連続したメモリを0にする方法はPUSH命令を使った有名な方法があるのだそうです。 1992年ごろ大学のほぼ隣にある東大卒が作ったソフトハウスでバイトしていたときに、 早稲田で1学年下だった青木和麻呂(文教大の先生、共通鍵暗号で有名)さんが、楽し気に、 このZ80の画面クリア方法を話ていた。

Z80、画面クリアをネットを調べるといくつか出てきます。内藤さんのブログにもあるみたい。
Z80 スタックに纏わる話    2021年11月29日


画面クリアだけ、わかりやすいのは、こっちかな
森田和郎さんとループアンロールとスタックポインタによる画面クリアとか


意外と連続したメモリを0にするのは、大変みたいです。 今回の新規命令は、これを1命令で行うものです。WZetaに、ご期待ください。うまくいったら、すぐに日記で連絡します。


5月21日 ハードマクロ命令の使い方とBIOS

数学関数やAESなどの暗号関数をハードマクロ命令に定義しておけば、 リソースを多用する高速なルーチンに置き換えたり、専用ハードを追加することが便利になる。 WZetaのハードマクロ命令は0番~63番までの64個しかない。 仮想マシンでは大量のハードマクロ命令を必要とするため、仮想マシンを利用する環境でも、 高速なルーチンや専用ハードを利用したい場合はハードマクロ命令1個で、いろいろな演算に対応できるようにしたほうが良い。 つまり8bitパソコンのBIOSは0番を使っていますが、そこに数学関数やAES暗号などの暗号関数を定義しておけば、 いいように思っています。

要するに演算BIOSを定義することによって、WZetaのアプリやハード開発が促進されるだろうという予測ができる。


5月20日 WZetaシミュレータ、お試し公開(11)

CLC命令を追加しただけです。 前回追加した美人キャラ表示プログラムは削除しました。

アセンブラに強い人とか、わかる人は、わかるという説明しかないので、 悪意、敵意の無い人は、お気軽にご質問ください。

2022年6月2日、公開終了
SHA-1 : 9bbcf5932259b3224bcff77bd6a9ead58780ed50


5月20日 匿名質問では気が向かないけど三角関数

WZetaのBIOSにRSA暗号(厳密には1024bitべき乗剰余)を実装する話をしたからだと思うけど、 三角関数はどうするの?みたいな、匿名質問が複数あったので、答えると
BIOSで三角関数を定義だけしておけば、みながそれを使えて、ハードを追加すればアプリを 再コンパイルすることなく、高速化されるみたいなことを、考えていたのかもしれない。
だいたいの話をすれば、入力パラメータが16bit以内ならA、Bレジスタにデータをセットして BIOSCALLすればいい。16bitを超える場合はパラメータのデータがあるアドレスの先頭アドレスを A、Bレジスタに入れるようにすれば、BIOSCALLの演算関数にできる。

僕が、パラメータを標準化しないといけないのかも、だけど、、、


5月20日 パソコンのダウンロード販売!?

SNS上で昔のフロッピーディスクのコピープロテクトの話をしていたので、 まだ遠い先の話ですが、ちょっと思いついたこと。
8bitパソコンWZ-660のハードは日記5月18日に書いたように 市販のFPGAボードのコネクタに3個の部品を刺すだけの簡単なものなので、 ハードはお客側で別途、購入してもらって、WZ-660のファームウェアのみを ダウンロード販売ということも可能なのかもと。 実際、エンドユーザーがFPGAボードのファームを書き込む作業ができるかというと、 8bitパソコンを購入したいと思う人の多くは、できるかもしれないと思った。

コピープロテクトをどうするか、昔、WindowsXPのような認証システムを 自作したことがあるのだけど、シリアルキーのほうが、エンドユーザーからみると 便利だし、お得感があって、良さそうかと思った。 1人で使うなら、5台でも、10台でもいい。10台を1人で使うことは、難しそうだし。 販売にかかるコストは、サポートにかかる時間も影響することを考えているから。

シリアルキーの販売システムは、Vector とか使うと、マージンを取られるけど、販売に力を入れてもらえそうなら、良さそうと思える。 昔と違って今は、いろいろな方法があると、思うので、どうするのか、全く決まってないですけど。


5月19日 WZetaに新規命令1個追加(改訂版)

WZetaの命令セットにキャリーフラグをクリアするCLC命令を追加しました。
verilogファイルに実装完了。

これまでCLC命令がなくて良いと思った理由はADD命令で代替できたからですが ADD命令ではゼロページメモリを1バイト使う必要があったためCLC命令を追加することにしました。 そしてCLC命令の追加に必要なトランジスタ数を調べると、僅かなトランジスタ数で良いことがわかったため。

命令コードは 01C4

参考までにキャリーフラグをセットする命令はWZetaにありません。次の2命令で代替できます。

LD A,0
SUB A,C


5月18日 WZetaシミュレータ、お試し公開(10)

前回のリリースからwzasm.exeを差し替えただけです。 あと画像を追加しました。僕の画像変換プログラムが適当なので、あまり映りは良くないですが、 僕がSNSのアイコンとして使っている美人キャラです。

アセンブラに強い人とか、わかる人は、わかるという説明しかないので、 悪意、敵意の無い人は、お気軽にご質問ください。

公開ファイル WZetaシミュレータ バイナリのみ
(公開終了)
SHA-1 : 7486b8fb212e2a3a4d2d0c68f93c0144594e32a7

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



5月18日 WZ-660シミュレータでバグ発覚

少し大きめバグなので、お知らせすることにしました。 メモリモデル HALFでアセンブルするとalloc()関係のエラーが出ます。 TINYでは問題がないので、当面、TINYがお薦めです。このバグを対策しただけのリリースを、 数時間でするかも。


5月18日 8bitパソコンの生産開始、いや試作です

部品が届いたので、これで8bitパソコンを製造できそうです。
3個の部品をコネクタに刺すだけで8bitパソコンになるのは、お手軽でいいかも思っています。 パソコンとして動作するようになるためには、まだとても長い時間がかかりそうですが。

FPGAボードの在庫切れ考慮していて、候補のArty S7-25はネットワークやPCIeがないタイプ。 Arty A7-35Tだとネットワークがついているので、小型のサーバとかに流用する懸念を持たれて、 パソコンの製造を始めると在庫が切れる予想をしていました。 S7-25は製造元のホームページを見てもMakers向けとなっているし、価格も高目なので、 逆に在庫切れの心配をしなくて済むのかと考えています。
MSXに対抗してWZPC規格を作っているのではと、思った人がいたのですが、 対抗して作ろうとしているわけではなくてCPUに僕のWZetaを使うので Z80を想定したMSXを利用することはできないからなのです。
8bit CPU WZetaが広く普及すると仮定するなら、WZetaを搭載した8bitパソコンで 慣れておけば、組込み向けの仕事にありつける可能性があることが、売りなのですね。

僕が学生の頃は、インターネットから先端の技術を学ぶことをしていました。 Dylanという新しい言語に興味を持ったのですが本を無償配布していたので、登録すると、 本当に海外から、送られてきました。しかも2度。結局、あまり読む時間はなかったのですけど
僕がC++の新しい機能にも、興味を持って詳しくなったことで、 大学のgccのバージョンを上げることになったとか。 大学でC++を使った卒論を書いたのは、僕が始めてかも。 研究室でC++の布教活動をしたのですが、あまりうまくいかず、 C言語にするようにと言われた記憶がある。
何年か前、C++の産みの親として知られるビャーネ・ストロヴストルップが、 僕のいた大学の研究室に来たときには、ちょっと笑いました。
8bit CPU WZetaのハードマクロ命令の研究は、学生さんたちも考えたほうがいいと思っています。 大企業に就職をしようとする人は、あまり個性的にならないほうが、良いというのは、現在でも、 そうなのかもしれないですが。
上に税金を取ってこれる教員がいるとWZetaの方針に合わなくなるので、 個人や、趣味でやる程度になると思ってますけど。

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


5月18日 2ランク下の半導体で7.4倍の性能

暗号プロセッサSnakeCubeの広告原稿を公開していますが「2ランク下の半導体で7.4倍の性能」という発明です。 子供でもわかることだと思いますが、安心できる半導体の確保に、これを活用することはできるように思います。 僕が開発したICF3(1999年)はRSA暗号世界一の性能でした。 IBM互換の暗号装置でしたが、外務省や世界の銀行に納められています。 会社を退職して10年以上が経過し、孤立無援の状態で発明されたSnakeCubeの利権がどうなっているのか、 監視している海外系の人は複数、必ずいます。RSA 2010年問題で研究者が盛んに研究したにも、かかわらず、 僕が発明するまで、発明されていないのです。 国内の別の企業や、大学に移そうという動きも見られますが、盗作すれば、海外が盗作しやすくなるので、 僕がSnakeCubeを持って、動けるように、したほうが良いように思います。


5月18日 サイバー攻撃で頭が痛い

産業スパイによるサイバー攻撃で目と頭が辛い。
そういえばドラマで記憶喪失になった人が、何か思い出そうとした瞬間に、 痛みで倒れるシーンを思い出しているけど、あれは正しいということを体感している。


5月17日 アメリカ人になった気持ちがわかる

産業スパイによるサイバー攻撃で歯がとても痛む。今なら、 青色LEDでノーベル賞をとった中村さんがアメリカ人になった気持ちがわかる。


5月16日 WZetaの暗号BIOS搭載のシミュレータを計画

暗号プロセッサSnakeCubeの広告入稿をしたものの、審査結果が、 新しくリリースしたとか、新発売とか、あったほうが良いとのことで、 WZetaの暗号BIOS搭載のシミュレータを計画しています。既存のシミュレータに暗号BIOSの一部を実装する予定です。 可能な限り数日中にリリースできるようにすることを考えていますが、もう少し遅れることはあるかもしれません。

オープンソースのWZetaのIoTデバイスで公開鍵暗号を使う場合や、(自作の)WZPC規格の8bitパソコンで 公開鍵暗号を使うための暗号BIOSです。

将来、SnakeCubeなどの暗号プロセッサがある場合は高速に演算されます。 暗号プロセッサが無い場合は、WZetaのCPUがソフトウェアで演算します。 ソフトウェアから見ると違いは無く、暗号BIOSの仕様にしたがってBIOSコールするだけです。 恐らく、アセンブラのコードは、こんな感じ

    LD A, &crypt_param.H
    LD B, &crypt_param.L
    ^BIOSCALL 0x07

シミュレータに追加する暗号BIOSに1024bitのべき乗剰余演算のコードのみを入れるつもりですが、 試作かつ脆弱性対策無のコードになると思います。 しかし8bit加算器1個で、高速に演算する方法を、知ることができるように思います。 性能も参考になるデータになると思います。

追記
SNS上に、これはTPMなの?というような質問があったのですが、 暗号BIOSはWZetaプロジェクトなので税金は使えないためTPMのようなレベルまでいかないだろうと思います。 高いセキュリティを必要としない需要では実用になるレベルには、なるような気がしています。 そして暗号プロセッサ無しのソフト暗号では、そもそも、セキュリティを期待するのは難しい。 特権レベルでなければ鍵のあるメモリを読めないということくらいは、可能かもしれないですが。
将来、高いセキュリティを必要とした需要もカバーできる方向は、考えていかなければならない と思っていますが。この暗号BIOSの範囲を超えるものになるかもしれない。


5月16日 SnakeCubeの広告原稿公開したけど取材ないよ?

昨日の日記で暗号プロセッサのSnakeCubeの広告原稿公開をしましたが、 取材とかあるかもと思っていたのですが、まだ、ありません。 インターネットで現行のRSA 2048bitの性能が、2ランク下の半導体で7.4倍という、 とんでもない性能、どうやって発明したのかとか、あるかもと思っていたのですが。
来週、米大統領が半導体関係の話で来日するというのに、この話ができる人が現地にいないことになる。 SnakeCubeが、簡単に発明できなかった事実を考え、日本は、これを運用できる体制にするべく、 僕の問題を、考えたほうがいいように思われます。


5月16日 既存の公開暗号と新しい暗号の併用ではないかと

スラド記事5月15日     NSA曰く、新しい暗号規格にバックドアはない

記事に

米政府は 4 日、既存の公開鍵暗号を用いるすべてのデジタルシステムについて、量子耐性暗号へ移行する方針

とある。新しい公開鍵暗号の安全性が十分なのかということもあるので、余裕のあるシステムでは、 既存の公開暗号(RSA暗号など)と新しい暗号の併用となるような気がしています。 OpenSSHの新しいバージョンも耐量子暗号とのハイブリッド がデフォルトになるようです。
既存の公開鍵暗号のRSAと楕円で、安全性においてどちらがいいのかというのは、研究者によって、いろいろなのですが、 RSA暗号は鍵を大きくするだけで安全性を高くできるので、RSA暗号を好む場合があるようです。 暗号プロセッサSnakeCubeは楕円も演算できます。


5月15日 暗号プロセッサの広告原稿の公開

SNS上のTLが若干、騒がしいのは、僕が暗号プロセッサSnakeCubeの広告原稿を 入稿したからなのだと思う。メディア関係の方で、事実確認をしているのかもしれないと思ったので、 審査中の原稿を公開します。
「暗号プロセッサ SnakeCube に 8bit CPU を加え様々な暗号が可能に」


例えるなら風邪で熱を出している状態で原稿を書いているので、 至らない点はあると思います。メリットとなりそうな技術的な話は、日記で、 ダラダラ書いてきたので、時間の無駄になると思いますが、興味がある方はどうぞ。

質問は電話で頂いたほうが早いかもしれません。 ちなみにメールは多分、産業スパイによって今日の朝で止められている。

CASIOの電卓技術から、何か参照していないかという、疑問を持った人があるようなので、 ここで答えると、全て僕が創造したものなのでCASIOに限らず問題となるようなことはありません。

8bit CPUは40年以上前から「スタック」を持っているのが当たり前になっています。 そしてほとんどがインデックスレジスタを持っている。
僕の8bit CPU WZetaはスタックもインデックスレジスタも持たない、 どれにも似てないCPUになっています。

僕は1994年~2001年ごろにIBMの大型コンピュータの互換機を開発していたので、 メインフレームのCPUの命令セットを知っています。 CISCなのでデータ圧縮命令が1命令でできるような命令もあったと思います。 そういった複雑な命令はマイクロコードによって処理されるのですが、 マイクロコードは次の世代では使えなくなるので、普通の命令セットを マイクロコードとする方式で実装されています。

つまり、この普通の命令セットでより複雑な命令を実装する機能は WZetaのハードマクロ命令の機能と似ています。 ただし一般のアプリ開発者も、この機能を利用できるようにしている点が違います。 一般のアプリ開発者が利用できるハードマクロ機能を含めた命令セット仕様を、 境界線として、僕は考えています。

ありふれた機能ですが8bit CPUでは見かけたことはなく、 ハードマクロ命令を実際に使ってみて非常に便利だということに 気付いたということです。WZetaはスタックが無いので、これを1段の 高速スタックにできる点がマイコン用途では、高性能化に役立っています。 MicrosoftのMS-DOSはINT 21hでパソコンの違いを吸収しましたが、 WZetaではハードマクロ命令でマイコンの違いを吸収できます。 ハードマクロ命令実行中も、普通に割込みを受けられる。

WZetaをスタックの無いCPUにしたのは、大昔のCPUはスタックが無かったという 事実を、知っていたということが影響しているかもしれませんが40年前の8bit CPU でもスタックが当たり前ですから、当然、スタックがあったほうが有利なのです。 このスタックの利害得失を、再考し、スタック無を敢えて選択したのです。


5月14日 サイバー攻撃によりプリンタのトナー不良

5月16日締め切りの広告原稿を印刷するとカスレで数字がほぼ読めない。 数日前に印刷したときは鮮明に印刷されている。 産業スパイによるサイバー攻撃の可能性が高い。 入稿直前の時間を奪い、推敲されない原稿を入稿させることを目的としたものだろう。 そして紙による証拠を残させない。
産業スパイによるサイバー攻撃の予想は、していたので締め切りの2日前から、 入稿を開始している。 みなさんも、プレゼンを産業スパイによって邪魔された経験がある人は、多いはず。


5月14日 8bit CPU WZetaのソースコードについて

WZetaの命令セットと詳細な論理ゲートレベルの設計図は公開していますが、 verilogのソースコードは、まだ公開されていません。

産業スパイのサイバー攻撃で僕の頭が悪くなるとWZetaの開発が進まず ソースコードの公開ができなくなるので、産業スパイの転職を促進してください。 現在も、なお産業スパイのサイバー攻撃が続いています。よろしくお願いします。

icarus verilogによってバイナリにしたものはWZ-660のシミュレータといっしょに公開しています。 icarusは仮想マシンのバイナリを生成するので恐らく同一のバイナリでWindows、Linuxをはじめ 多くのOSで動作します。icarusの仮想マシンを調べたわけではないですけどSIMD系の命令は、 SIMD命令を持っているCPUはSIMD命令で実行され、そうでないCPUは1つ1つ処理するような 仮想マシンのアーキテクチャなんだろうなぁと。


5月13日 8bit CPU WZetaのサイドチャネル攻撃耐性

WZetaの設計段階でサイドチャネル攻撃耐性を考えていたのかと言われると、 考えていなかったのですが、結果的にはサイドチャネル攻撃耐性の高いプロセッサだということに気付いた。
東北大とかIBMが8bit CPU Z80で共通鍵暗号のサイドチャネル攻撃をしている論文を、 ちらっとだけ見たのですが、この程度のサイドチャネル攻撃なら想定の範囲内。

想定されない範囲においてもWZetaは、他の8bit CPUと比較してサイドチャネル攻撃耐性が 高いという予想を持っています。

WZetaのSDogコアについて言えば、どの命令も同じ処理で動作します。 WZeta SDogコアはメモリアクセスの必要のない命令もリード・ライトの動作をしているのです。 ライトはライト・イネーブルが0,1の変化をしますが、信号線1本のON、OFFを読める精度の プローブは困難であるような気がします。データ系は命令に無関係に変化してしまうので。 これは消費電力で言えば、無駄な電力を使っていることになりますが、トランジスタ数を極限まで減らした結果です。 そして極端な例で説明すれば0、1の変化率が100%であっても、トランジスタ数が半分なら50%と同じなのです。 ややわかりにくい説明ですが、WZetaは低消費電力ですと言っています。


5月13日 Googleの物理カギにWZetaとか

Googleのセキュリティキー(物理カギ)にTitanがあります。 Titanではオープンソースの32bit/64bit CPU、RISC-Vが使われています。 これを単純に8bit CPU WZeta に置き換えるとウェハーからとれるCPUの数はWZetaのほうが多いので 原価を抑えることができて、Googleは儲かるみたいな。ないだろうか? Googleは半導体ファウンドリSkyWaterに出資して 無料でチップを製造できるサービスも提供しているほどだから、 Google自身が8bit CPU WZetaを使ったセキュリティキーを作れるような 気がしました。
Google以外の他の、みなさんも、ぜひにオープンソースの8bit CPU WZetaを よろしくお願いします。


5月13日 Google認証技術パスキーと僕のPassCert

SNS上で複数、Googleの認証技術パスキーが 斡旋されているように見える。物理キーを使ってパスワード無しに認証できる技術らしい。 詳しいことは良く読まないとわからないけど、パスワード無しで認証できることは、良さそうだと思う。

より高いレベルの本人認証が必要になることもあると思う。例えば、ある企業の名簿を閲覧するのには、 パスキーで手軽に認証、自分の登録内容を変更するには別の本人認証というような。

僕が昔開発したPassCert はSSLクライアント認証を使った方式でウェブサイトごとに認証をするシステムです。 システムですがブラウザが装備しているSSLクライアント認証の枠組みを使うので物理カギを Microsoft WindowsのAPIを使って実装するクライアントソフトウェアのみの認証システムです。 パスキーと同じように偽サイトで認証されないような仕組みがあります。具体的には ブラウザがSSLサーバ証明書を使ってサイトを検証して、そのサイトに対応する物理カギの証明書を 自動的に選択してくれるというもの。パスワードの入力が必要ですが設定を変更すればパスワード無しにする こともできます。パスキーとPassCertの2つを使うと便利かもしれない。

PassCertは(独)NICTに3回くらい応募しました。 最後にはNICTに乗り込んで、どうしてこれが不採択になったのだと大騒ぎしました。 NICTの職員には 「行政裁判をして頂いても、構いません」とまで言われています。

Googleパスキーとの併用は、インターネットを安全に利用するのに、とても便利になるような気がするので、 この機会に、PassCertを見直してもらえると、いいような気がします。儲かりそうなら、どこか、ないでしょうか?

PassCertは、この日記サイトに跡地を作っています。 サイトに対応する証明書を自動選択できる機能の説明のページは
https://note.idletime.be/PassCertBook/benri.html


5月12日 AES暗号のSubBytesを8bit CPU WZetaで演算

ツイッターのTL上にAES暗号のSubBytesの話題があったので8bit CPU WZetaでは、 どのくらいの性能になるのかアセンブラのコードを作ってみた。
R0~R15はメモリの先頭にあるゼロページメモリに連続領域として確保している。 AES_SBoxは256バイト境界に置かれたSBoxのテーブル。

    LD A,&AES_SBox.H
    LD C,&R0.L

    LD B,%R0
    STZCP [A:B]
    LD B,%R1
    STZCP [A:B]
    LD B,%R2
    STZCP [A:B]
    LD B,%R3
    STZCP [A:B]
    LD B,%R4
    STZCP [A:B]
    LD B,%R5
    STZCP [A:B]
    LD B,%R6
    STZCP [A:B]
    LD B,%R7
    STZCP [A:B]

    LD B,%R8
    STZCP [A:B]
    LD B,%R9
    STZCP [A:B]
    LD B,%R10
    STZCP [A:B]
    LD B,%R11
    STZCP [A:B]
    LD B,%R12
    STZCP [A:B]
    LD B,%R13
    STZCP [A:B]
    LD B,%R14
    STZCP [A:B]
    LD B,%R15
    STZCP [A:B]

STZCP命令は[C] = [A:B], B=B+1, C=C+1
WZetaのSDogコアは全命令4サイクルなので34命令×4サイクル=136サイクル
オリジナルのZ80はマシンサイクルとTサイクルとあるけどWZetaの1サイクルは Z80のTサイクルで3サイクルといったところか。WZetaと比較できる軽量なZ80互換の 命令サイクルとかがわかると比較できるかも。


5月11日 SnakeCubeの銀行向けトークン開発をわかりやすく説明

SnakeCubeの銀行向けトークンは、一般のディスプレイ付き電子署名端末と勘違いされ、 間違った評価をされるかもしれないと思ったため、わかりやすい説明をします。

要するに現在、最高セキュリティのQRコード・トークンからの移行において、 セキュリティを少しも落とさないで、銀行サーバのセキュリティを向上させ、 トークンの原価を大きく削減できるという提案なのです。

現行トークンではサーバー側が突破されると多数の預金が危険に晒されるため厳重な 管理が行われています。SnakeCubeトークンでは現行のセキュリティに追加してRSA暗号の 電子署名が追加されるため安全性が強化されるのです。なおかつRSAの電子署名を保証しない システム設計なので、SnakeCube端末の開発が楽にできるのです。 あらゆるサイドチャネル攻撃を全て完全に対策する端末を開発するには膨大な開発コストが かかりますが、RSA暗号は量子コンピュータによって解読されるリスクがあるため、どのみち RSA暗号の署名を保証しないシステム設計になるからです。

どうして現行セキュリティを下回らないのかは下図のOTP用CPUを見てください。 OTP(ワンタイムパスワード)用と書いていますが、実際には対称鍵暗号を使った MACになると思われます。現行のQRコード・トークンの回路のQRコードによる通信部分が、 OTP用CPU上部のINだと思ってください。データの出力はOTP用CPU下部のOUTですが、 これがパソコンに繋がっていないのです。このため電気火花を散らして、どのような 誤動作をさせようとも、ファームを改竄してもパソコンにデータを送信することができないのです。 SONYだとUSB I/FのSoCを集めて全回路を1チップにする製造が可能なのではないかと思うので、 チップ製造を含めて安全を確保できることが利点。

QRコード・トークンからSnakeCubeトークンにするとUSBケーブルからの給電になります。 そしてCMOSイメージセンサーやカメラ、画像処理プロセッサ、単3電池2~4本が削減されるため、 地球環境への効果も期待できる量ではないかと思います。

暗号プロセッサSnakeCube である必要はありませんが、SnakeCubeは他にできない巨大な鍵長のRSA暗号が可能なので、 割安なRSAを使い続けることができる可能性が非常に大きい。 このためSnakeCubeを選択するしかないのではと考えています。


この日記は、以下の日記の、まとめになっていますが、参考まで
SnakeCubeの銀行向けトークン開発
SnakeCubeの銀行向けトークン開発(2)
SnakeCubeの銀行向けトークン開発(3)
SnakeCubeの銀行向けトークン開発(4)



5月10日 SnakeCubeの銀行向けトークン開発(4)

ICカード関係の特許は、特許検索すれば、結構あって「特殊レジスタ」の特許を誰か取っているかもしれない。 上手い人が特許をとっていると回避不能かもしれないけど、あきらめて払うか、回避する方法を考えるか、 もしくは、「特殊レジスタ」を削除を考える。 「特殊レジスタ」が無くても全面的に現行のQRトークンのセキュリティを上回っていると、言えるかもしれない。
超軽量8bit CPU WZetaなら多数、実装してもチップ面積を取らない。 WZetaのソフトウェアで特殊レジスタの役割を果たせばよい。 CRCなどの整合性チェックならば特許の問題はないでしょう。

これで、多くのOSに対応するUSB I/FのSoCを入手できるなら、銀行向けトークン開発で障害となっているものは、 無くなったかな???


5月10日 WZeta応用アプリ、暗号資産向けハードワレット開発

僕がやるということではありません。 ここ数日の日記で、銀行向けトークンを考えてきましたが、暗号資産向けで無保証の場合の、 最も安価なハードを考えてみました。LCDのSRAMをWZetaの仮想マシン技術で削減できないかという日記を 今年の2月に書いたのですが、銀行向けでは、それを活かせるのか、 わからなくなってしまったので、その穴埋めとして。 銀行向けでも、ここでいう新技術を使えなくないのですが、無理に使うこともない状況になったのです。
WZetaの仮想マシン技術でLCDドライバを省く
WZetaの新技術の可能性(1)
WZetaの新技術の可能性(2)
WZetaの新技術の可能性(3)
WZetaの新技術の可能性(4)


5月10日 SnakeCubeの銀行向けトークン開発(3)

QRコードのトークンからSnakeCubeのトークンへの置き換えは、 サーバー側のセキュリティが向上しますが、クライアント側で僅かにセキュリティが下がるケースがありました。 プログラムのバグで偶然にトークンの中のデータが露出してしまうケース。 トークンの近くで電気火花を散らして誤動作をさせるケースも同様。
QRコードのトークンからSnakeCubeのトークンへの置き換えで、少しもセキュリティを下げないための トークンの回路を考えてみました。QRコードのトークンの内部回路と同等の OTP回路(厳密には対称鍵によるMAC)からの出力は液晶ディスプレイのみで、何があっても、 USBから内部データを抜き取られることはない。RSA暗号側の回路の出力も、バグによる出力は、 特殊レジスタによって、ほぼ出力されないので、安全。
こういう回路を作ればSnakeCubeのトークンは一気に普及するかもしれない。USB I/FのSoCが手に入ればだけど。

セキュリティのためにCPU 4個を使っているけどメモリ1個で動作して、 トランジスタ数を極限まで減らしているWZetaなら、32bit CPUを使うより安価。

QRコードをUSBケーブルに置き換えるアイディアは2年近く前に この日記に書いたので、 日立が、これを想定した特許を抑えてしまっているかもしれない。 実装関係の特許をクリアできれば、SnakeCubeの銀行向けトークン開発は有望という状態になった。



5月10日 SnakeCubeの銀行向けトークン開発(2)

産業スパイ経由で現行のQRコード(イメージセンサー)方式の利点が届いた。 産業スパイ経由にして欲しくないところ。

QRコードを使えばWindows、Mac、Android、iOSなどあらゆるデバイスへの対応が 可能であること、新しいOSへの対応も問題がない。

僕の提案するUSBケーブル方式で、あらゆるOSに対応させる場合、 OS毎にデバイスドライバを開発する必要があるので、端末ハードのコストは安くでも、 ドライバの維持費がかかる。
そこは考えてあって前回は図の説明をしていなかったのですが、 「他社USB」は多くのOSをサポートするUSB I/Fチップ(あるいはSoC)です。 銀行のサーバーからトランザク認証トークンの8bit CPUへの通信は 暗号化されているため「あまり信用のないUSB I/Fチップ」で問題がない。 表示されているQRコードを他のアプリから読み取られても問題がないのと同じ。

僕の提案する方式のデメリットについて。 QRコードでは銀行に接続するパソコンにドライバなどの 一切の追加プログラムをインストールする必要がないのに対し、 USB I/Fチップのドライバをインストールする必要があること。 ただパソコンは、いろいろ便利なアプリをインストールして使うもので、 そのためにLCDつきの端末で安全を確保するわけなので、それほど問題には ならないだろうと考えています。
USB I/Fチップのドライバをインストールしても、 LCDを信用することに慣れれば、銀行との取引のセキュリティが下がることはないので。

すべてのチップを自社製にしていない限り、 サイドチャネルの問題については現行のQRコードもあると考えています。

SnakeCubeはRSA暗号の演算ではサイドチャネル耐性がありますが、 楕円や新しいアルゴリズムでは、サイドチャネルを考えたプログラムになるので、 安くない。

USB I/FチップのSoCを入手して安全を確保すれば、サイドチャネルの問題がなくなるので、 もしかすると、ここでも現行のQRコードよりも安全かもしれない。

新型端末では、8bit CPUのプログラムのバグにより端末内のデータの漏洩を心配する 人はあるかもしれない。8bit CPUを2個に増やして1つを通信専用にすればバグで漏洩する 可能性は少ない。

新型端末ハードの製造コストを低減するために、多少、心配しなければならない問題が増えている。 そういう意味では現行のQRコードのほうがメリットがあるのかもしれない。 しかし現行のICカードで問題は、わかっているはずなので、SONYがやらなくても、他がやる可能性は、ある。 SnakeCubeに依存しないので、SONYが僕を抑えても、意味がない。



5月9日 僕の遺伝子は、どこの国か?

SNS上の様子を見る限り、複数から僕が日本人であることを疑っているみたいなので答えると、 僕も知らされていないし、聞いたところで事実を確認する方法がない。
恐らく現在は、東大合格の価値生成に励む東大法医学系の人たちが、ボロ儲けの後始末中なので、 DNA鑑定結果は、信頼できない。東大卒が狂気から覚めてくれるといいのですけど。

40代後半まで両親の本当の子供ではないということを知らずに生きてきた。 子供の頃は、ごく普通の子供として、ひっそりと暮らしていた。

子供の頃からの記憶から推測して、確率的に高いと思われるのは、 この国の有力者の跡取りか、大金持ちの子供だったけど、 左手首を切られて暗殺され、その手数料を東大法医が得た。 念のため蘇生した僕を、両親に育てさせた。

もう一つは「理3の種馬実験」
頭のいい人間を家畜にして儲けるために作られた。 決して入れ知恵で頭がいいわけではなくて、遺伝子的に頭が良い。 そして暗記力、スピードを削いでおく。

そこら辺の安い命を、わざわざ東大卒の多い組織(旧、日本道路公団)は育てないでしょう。

外見的特長から、どこの国の人間かを考えてみると「蒙古班」が子供のころにあったから、 ユダヤ系ではなくて東アジア系かも。 韓国人らしい顔の特長と、中国人らしい顔の特長を、識別することはあるけど、僕は、どちらでもないから、日本人かな。 ちなみに元国会議員だった叔父、平山誠は、顔から韓国人に見られることがあることを言っていた。 実際、韓国人っぽい顔だと僕も思った。


5月9日 SnakeCubeの銀行向けトークン開発

非常に良い話だと思っています。僕が損してまでやるということはないので、みな応援しましょう。
既にトランザク認証トークンを導入している銀行もあるのですが、 まだセキュリティ的に弱いところもあったり、トークンの製造原価を低減させる余地があると思われます。 SnakeCubeを使った新型のトークンを導入して、 USBケーブルによる給電に変更。電池を不要にすれば、電池切れを心配する必要もなく、地球環境にも良い。

僕の意見は国民に安心できる半導体を供給する約束と引き換えに税金で世界をリードする 銀行向けトークンの開発の検討をしたほうが良いように思います。

この提案の肝は現行のトランザク認証トークンに使われているSONYのイメージセンサーとカメラを削減して SnakeCubeの暗号プロセッサをSONYが開発することかもしれない。僕は日立の顔を見ることもなく 非常にストレスがない。SONYに入った同期を何人か知っていますが、知り合いでなくても良いので、 関心があれば、ご連絡ください。大手半導体ファウンドリのTSMCが熊本に来るにあたって SONYも投資しているという話なのでSONY銀行で使うのに最適なような気がします。 他社製の信用できるかわからない半導体トークンを使う苦労がないのです。

現行のトランザク認証トークンの弱点は、サーバーが突破されたときに全員の口座が危険に晒されること。 SnakeCubeの新型では公開鍵暗号を併用することで被害を最小限にできます。 SnakeCube暗号プロセッサもコントローラの 8bit CPU WZetaも、僕が設計したものなので、 RSA暗号なら安価なトークンを開発することができると思います。 併用なので量子コンピュータによって解読されても、現行と同じレベルのセキュリティなのです。 必要であれば、耐量子暗号が本格的になったタイミングでSnakeCubeに追加する案もあると思います。

コスト重視の銀行トークンでは楕円暗号や耐量子暗号は高価なのでRSA暗号だけという案はあるように思います。 この新型は技術的に1ランク上のセキュリティとなるのでSONYが開発しなくても、他が開発して、 イメージセンサーのシェアを奪われる問題があることをSONYの人は考慮したほうが良いのかも。

続き
SnakeCubeの銀行向けトークン開発(2)
SnakeCubeの銀行向けトークン開発(3)
SnakeCubeの銀行向けトークン開発(4)


5月8日 情弱な一般人向け暗号プロセッサの重要性の説明

この際、目の覚めるようなことを、言ってみる。 僕の発明した暗号プロセッサSnakeCubeは、 産業スパイによる妨害で、民間による暗号技術の向上のチャンスを失われました。 しかし暗号技術がなければ、情報戦において負けた状態から戦争に突入しなければ、 ならないこともあるかもしれない。それでどうなるのかは、 日本は第二次世界大戦で経験済みのはず。戦争が起きなければ無駄な税金になるけど、 起きないと言い切っていいのか、選択のしどころ。 SnakeCubeに耐量子暗号のアルゴリズムを追加したとしても、時間の経過とともに SnakeCubeの商業価値は下がるので、今が決断のとき。 そしてSnakeCubeは、将来のアプリ、準同型暗号で活躍する可能性もあり、 そうなれば、ここでの判断ミスは、大きな損害になることもある。 情弱な人だけでなく、研究者や、日本をリードする人など、考えてみてください。


5月8日 SnakeCubeの広告作成のためWZeta開発はお休み

広告作成に入るまでにWZetaのリリースを、もう一度しようと思っていましたが、頭痛で作業が遅れたため、 今月末までWZ-660のシミュレータのリリースはできなくなりました。

以下は雑談
WZ-660のBIOSを作り始めたのですが、MS-DOSのようなシングルタスクOSより、マルチタスクのできる OS(BIOS)が、いいなと思い始めて、作業が拡大してしまったことも、リリースを後回しにした理由です。
ハードの違いを吸収するためにMS-DOSではx86のINT 21h命令を使っているようです。 僕はOS屋ではないのですがINT 21hだと、他の割込みが滞るような気がしています。 WZetaではハードマクロ命令があるので、これをINT 21hの替わりに使うと、 BIOSコール中でも割込みを受け付けることができて安定したBIOSになるかなと。 ところがマルチタスクになってタスクスイッチが起きると BIOSコール中に別のBIOSコールを実行するということになるので、排他制御の仕組みを検討することになった。 WZetaの命令セットには割込み禁止命令があるのでBIOSコールのハードマクロ命令の前後にDISABLE、ENABLE命令を 入れると排他制御できます。しかしこれだとINT 21hと同じになってしまうので、 必要最小限の割込み禁止で済む仕組みを検討。最後の難関はBIOSコールに渡すパラメータ。 BIOSコールしてから、パラメータを取得するまでの間にタスクスイッチが入ると、パラメータが正しい保証がなくなる。
タスク数を最大4個にしてBIOSパラメータのメモリを4面用意すれば、いいかなぁと考え出したところで、 広告入稿の締め切りに間に合わなくなると思ったのでWZeta開発を、お休みすることに。 BIOSコールしてから、パラメータを取得するまでの間をDISABLE、ENABLEにしても良かったのですが、 4面のメモリを用意したほうが、割込みがスムーズになるという判断
もしかしてハードマクロ命令を使ったシステムコールって、この規模のCPUにしては凄いかも? ちょっとそう思っただけです。


5月8日 電波型サイバー攻撃で頭痛

頭痛で全く作業ができない状態。インターネットを見ることくらいはできるのですが。


5月7日 昔話、IBMの暗号チップから秘密鍵を抜き出す方法を発見した

産業スパイによる脳破壊が深刻になってきたので、昔話を書いてみる。

はてなブログの 「3、5、7で割った余りを計算する演算器」の最後のところに書いているから、 知っている人も多いかもしれない。

ICF3(1999年)の暗号プロセッサの開発後、 日立が後継の暗号プロセッサを計画しているところでCPUだけでなく暗号プロセッサもIBMのプロセッサを購入することが決まった。 そこで問題になったのは暗号プロセッサの中に厳重に保持されている秘密鍵のバックアップだった。 秘密鍵をバックアップするための仕様はなかった。 IBMが、その方法を教えてくれるはずもなかった。 なぜなら秘密鍵の盗難の方法を教えるのと同じだからだ。

国内向けにはバックアップ機能が必要だったらしく、日立は困っていたようだ。 僕にもバックアップ機能をどうするのか、相談された。
詳細なことは書けないし、覚えていないけど、このとき僕は、数の性質を使ったパズルを解いて、 IBMの暗号チップから秘密鍵を抜き出す方法を見つけ出した。
IBMの暗号プロセッサは、同一のプロセッサにリストアするための暗号化された秘密鍵のデータを取り出すことができた。
暗号装置にRSAの公開鍵暗号を設定することで、それが可能になる。 説明は省略するがRSAの鍵は周期が大きくなるように作る。 そこに敢えて1とnを繰り返す周期の鍵を設定する。 暗号装置内部で生成される乱数に よって1かnかになる。確率50%で1になる。 1であることがわかれば、それを利用して バックアップする方法が見つかった。 確率50%では、何度か繰り返せば、普通にバックアップが可能だ。

これでIBMの暗号プロセッサを購入することも可能になったし、国内の顧客にも満を持して販売され、 日立の大型コンピュータの事業に貢献したはず。日立社内には乱数生成器を止めてバックアップをす ることを考えた人たちもあった。最後、どちらを選択したのか、知らされてないけど、乱数生成器を止めると、 それを使った全ての機能が使えなくなるし、IBMチップのバージョンが上がる度に、乱数生成器を 止めるパッチを毎回することになる。大型コンピュータの開発経験がないと気付かないことだと思うけど、 パッチが1個でも必要になると、膨大な検証工数が追加される。 普通には僕の方法を使ったと思う。

今の僕は690ml、500円、3個の洗剤と、370円、1430mlの洗剤の、どちらが安いか? という問題が解けなくなるほど、産業スパイによって僕の脳は破壊された問題を言いたい。

日立の東大卒が、僕の脳破壊をIBMに売って儲けたと考えることもできる。 開発で事業に最も活躍した僕をリストラして儲けて、 脳破壊をして儲けて、東大卒の稼ぎ方は、とてつもなく酷い。 オマケに僕の遺伝子は、両親のものではないから、理3の種馬実験で作られたものかもしれない。 僕の頭を悪く見せて、技術買い叩いて儲けているのかもしれない。


5月7日 産業スパイによる脳破壊の拡散を防ぐために

産業スパイは自分の利益を損ねる可能性のある奴、全員、脳破壊しまくる可能性はある。 拡散防止を考えたい人は多いだろう。何といっても、気付く方法は無いからだ。
親が僕の脳がどれくらい壊れているのかテストを試みた。

どちらの洗剤を購入するのが安いのか?という問題を僕に聞いた。
暗算ができなくなったことを日記に書いたからだと思う。

親「690ml、500円、3個の洗剤」
親「370円、1430mlの洗剤」

さて、僕は、この質問の後、どうなったか?
じっくり解説しよう。690ml、500円、3個…の発音を聞いたところで、僕はギブアップ。 僕の短期記憶は3桁の数字1つくらいしかない。 短期記憶に、たとえ、いくつかデータが入っても、それらの相関関係を処理できず、 相関関係が発見されるまでの数秒から、数十秒の時間が必要になることがある。

この日記は、代理で誰か書いているのか?と思うほどだが、 短期記憶が無いだけなら、どうにかなるのかもしれない。 本人が、この日記を書いている。


5月6日 経済産業省、安全保障に関わる技術流出防止を強化

5日前のNHKのニュース
安全保障に関わる技術流出防止へ きょうから規制強化 経産省

NHKの記事には、日本人に技術を提供しても問題になることが書いてある。 知らない人は、読んだほうがいいのかもしれない。

僕は海外の影響を受けない人です。仲間に入れてもらって大丈夫。 僕についている産業スパイを剥がしましょう。

僕のSnakeCubeの発明は「佐世保(SASEBO)撃沈」の日記で 書いたように、日本の研究者が税金を使って開発してもできなかった 高性能&高効率な暗号プロセッサ。これを国立大学が狙っていると産業スパイが言っている。 僕の知財がどうなっているのかを、海外を含めた多数から、監視されているから、 国立大が僕から盗めば、海外も盗んでいいと解釈され「安全保障に関わる技術流出」となるので、 国は僕を疎外しないようにしたほうがいいです。この国が僕の発明を活かせるように考えたほうが、 いいように思っています。というより頑張らないと一部の日本人しか幸せでない世界になるように 思っている。それが悪いのかと言えば、良くわからないけど。


5月6日 半導体開発人員の構成のわかりやすい説明

僕は1994年~2000年まで日立でIBMの大型コンピュータ(メインフレーム)を開発していました。 僕は1982年の「IBM産業スパイ事件」の後に入っていますが、昔はFBIによって逮捕されることも あったような技術を仕事にしていたこともあり、僕がオープンソースとして公開しているものに、 影響がないか?と思う人もあるかもしれません。

結論は、世界の半導体企業といえばIBMだけではないのですが、少なくともIBMの影響はありません。 恐らく日立を含めた他の半導体企業の影響も無いというのが、僕の主張です。

どちらかというと僕を完全監視している産業スパイが各国に技術情報をリークする可能性のほうが、 問題なくらい。僕は、東大医学部の実験体として生まれた可能性もありますが、 彼らは姿を見せることはなかった。つまり、僕を語れるのは、僕だけなのだということです。 前述の組織からの入れ知恵を疑う人が良くあると思われます。 入れ知恵はありません。僕が、日本の天才の精子から作られたか、金持ちの跡取りだったか、 僕には知らされていませんが、その両方だったとか。そういう、ことではないかと思っています。

これまでの日記やウェブに技術的なことを書いていますが、文系だと説明が良くわからないために、 オープンソースを使って大丈夫なのかを判断できないでいるのかもしれないと考え、 日立の大型コンピュータで実際にあった半導体開発人員の構成について説明をすると、 良いかもしれないと思って日記に書いてみます。人員の構成については一般と同様ではないかと 思います。半導体の製造工程、「前工程」、「後工程」はネットで調べるとすぐに見つかります。

CPUなどのチップを開発するための人員構成です

(1) ファームウエア部隊
(2) 設計部隊
(3) 前工程部隊
(4) 後工程部隊


ファームウェア部隊は、組込みソフトウェア屋で、電子回路が一切わからないくても仕事が 可能なソフトウェア部隊
設計部隊は、CPUの命令セットを論理回路にする部隊で、多くの半導体デバイスでは、 AND、ORなどの部品を接続するだけの仕事。電子回路の知識は、全くなくても可能ですが、 設計部に配属されるのには電気・電子の学科を卒業しているほうが有利ではないかと思います。
前工程部隊は、チップの中の配線のノイズの問題を考える電気・電子の知識が必須の人と、 論理合成ソフトウエア開発の人がいます。
後工程部隊は、チップを石のような素材の中に封じ込める仕事。大型コンピュータだと、 複数チップをまとめるので、サッカーボールくらいの大きさになる。 マザーボードなどの基板設計をやっている人は、後工程部隊にいることが多い。

僕は1994年に日立に入ってどの部隊にいたのかを説明します。
1994年4月、中央研究所に配属、(2)設計部隊の補助みたいな仕事。
1995年2月、事業部の(1)(2)を中心とした指令部隊に異動。 そこから(4)に出向、半年くらい基板設計をする。
司令部に戻り、ひたすら机に座って長時間残業。米国の子会社に3カ月、出向。 技術を習得するべき年齢を空費することで魔法力を得るルールの仕事になる。 CPUを設計したいという想いが強くなり、夏季・冬季休暇のときに、自費で 論理設計の勉強を始める。CQ出版が販売していたPeak VHDLという論理シミュレータを 約20万円で購入。
米国から帰国後、暗号装置の開発のリーダーとして仕事を始める。 (2)論理設計と(1)のファームウェアの人たちといっしょに仕事。 3世代目の暗号装置の開発に入るときに暗号プロセッサを1から設計するように命令された。 本格的な(2)論理設計と、自作したプロセッサのマイクロコードの開発。マイクロコードは、 最後まで、僕1人でやっています。

各部隊とIBMの技術との関係を説明します。
(1)ファームウェア部隊では、IBMから正規ルートで入手した仕様に沿ってソフトウエア開発です。
(2)設計部隊。IBMのCPUチップと日立のメモリチップの接続はIBM仕様に沿って論理設計。 これは東大学卒2名、九大学卒1名でした。暗号チップはRSA暗号(べき乗剰余)が演算できる 演算器を設計せよ、という注文だったので、IBMの演算器を全く知る必要がない仕事だった。 ファームウェアでIBMのAPIに合わせるので、ファームウェア開発の人がいて、その人が、 IBM仕様を読んで開発していた。

説明は、最初の結論の通りになっていたと思いますが、日立が少し不思議なことをやっていたので 紹介すると、こういうところで働くと、日立退職時に「IBM CMOS情報」の機密情報を守るように誓約されます。 CMOS情報と言えば、一般的には前工程の重要な機密情報を指しているように思う人が大半だと思います。 退職時に、そのことに気付かなかったのですが、日立は(1)のファームウェアの情報に「CMOS情報」 という名前を付けていたのです。

互換機のビジネスでは、大型コンピュータ発売から数年間は、重要かもしれませんが、 I/F仕様なので、一般のプログラマにも公開される情報も多く含まれたものです。 科学技術的にみれば、発売され公開されてしまえば、たいしたことのない情報になっているのです。

こんなトリックを使って、科学技術的に重要な「IBM CMOS情報」を知った人間として、退職者を 不利な状況に追い込んでいた。僕の場合はIBMチップの前工程データを扱う 電子回路シミュレーションもしていたから、間違っては、いなかったのかもしれないけど、 僕が役立つ情報を持っていないことは、完全監視によって、IBMに伝わっていると思っていて、安心していた。


5月5日 マイナビの趣深い半導体業界記事

雑文なので普通の人は読み飛ばしてください。
マイナビ記事「今も昔も産業スパイが跋扈する半導体業界」著者:吉川明日論

記事は互換機の技術や、半導体エンジニアの頭脳流出などだが、1982年の「IBM産業スパイ事件」 の話もあった。日立が産業スパイしてFBIに逮捕された話。

僕が「IBM産業スパイ事件」を知ったのは2005年に日立を退職した後のことだけど、 あの日立の長時間残業、開発現場で、そんなことが起きていたのかという感想。

IBMの大型コンピュータ(メインフレーム)の互換機を僕は開発していたのだけど、 大型コンピュータの設計仕様はIBMが互換機メーカー向けに作成したものだったし、 互換機開発に必要な情報はIBMに問い合わせることも可能な状況になっていた。

この日記では、お馴染みのIBM互換の暗号プロセッサICF3(1999年)の仕様書は、 IBMから正規ルートで入手されたものだったようです。

言いたいことを、ひとことで言えば、僕が汎用的な暗号プロセッサを作ったので、ファームウェアで IBM互換機のAPIにしている。つまりICF3にIBMの論理回路アーキテクチャの技術は入っていない。 だから日立は僕をリストラすることができてOpenICF3 として公開が可能だった。


5月5日 WZPC規格は8bit CPU WZetaの普及のためにある

一昨日の日記に8bitパソコンのWZPC規格を作り始めたこと、 昨日の日記に乗算命令の追加方法の検討を書いたので、 興味を持った海外の人があったのかもしれない。 慣れない日本語では、僕の書いたことが十分に理解できないだろうと思う。 この日記が理解の助になればと思って書いています。

WZPC規格の位置づけ。
WZPC規格は優れた規格として作られているものではなく、優れた8bit CPU WZetaを普及させるために 簡単に作れる規格。
WZPC規格はゲームパソコンとして価値があるのではなくて 新しい8bit CPU WZetaを学ぶことができることに価値がある。 ゲームパソコンとして売り出せば酷評されることになるだろう。 VDPプロセッサが無いのでゲーム機としては必須のスプライト機能がない。

VDPプロセッサの需要があれば、考えることはあるかもしれないが、 僕が頑張れる範囲にない。 WZetaやICF3-Zを流用することは可能かもしれないけど。需要は無さそう。 乗算命令のために追加するICF3-Zで音楽演奏させるアイディアとかは、 あるかもしれない。しかし、これも、まだ遠い将来のこと。 儲かるくらいの需要があれば、話は別かもしれないが、需要は無さそう。

画面の動きの激しいゲームはWZPC規格のWZ-660では無理かもしれないが、 トランプ、麻雀、戦争シミュレーションや、 素人でも簡単に作れる10分くらいのノベルゲームくらいなら動作すると思います。 それで漢字ROMを考え始めたのです。


5月4日 WZetaに乗算命令の追加は、ないの?

乗算命令については頻繁に聞かれている。これまではARMやRISC-Vに嫌がられるので見送ってきました。 8bitパソコンを作っていて、やっぱり乗算命令がないと性能不足かもしれないと思うようになった。 そこで少しだけ乗算器の追加について考えた。

いろいろやり方はあるのだけど、一つの案はICF3-Z をベースにコプロセッサとして追加すること。自分の設計なので改造すれば簡単に作れそう。 乗算命令を追加するために、自分より大きなプロセッサを追加するため、 WZetaの最大の特長であるトランジスタ数当たりの性能を失ってしまうのだが、 逆にこれはARMやRISC-Vに嫌がれることを最小にするので、良いかもしれない。

そして8bitパソコンの性能不足の役には立つので、ICF3Zベースのコプロ案は、あるかもしれない。 WZetaに無理なく接続できそう。除算命令もできるし、多少、複雑な計算も、事前に プログラムを転送しておけばいい。

このコプロでは公開鍵暗号の性能加速は、あまり期待できない。 公開鍵暗号は暗号プロセッサSnakeCubeを繋げればいいと考えている。 ICF3-ZベースのコプロはFPGAに実装するなら効率はいい。


5月4日 ゲーム言語とか

僕がやるということではありません。WZ-660のシミュレータで遊ぶネタを考えみただけです。

昔のSHARPのポケコンをゲームマシンにして子供のオモチャとして中古販売で売れないか、 ちょっと考えた。ポーカーとか麻雀ならルールを覚えても、損したと思うこともないだろうから。

1986年ごろ、僕が高校生だったときにSHARPのポケコンPC-1251というRAMが 4.2KBしかないマシンを購入した。工学社「I/O」に「ポケコンパイラ」という コンパイラが掲載され、当時の僕は感動していた。ポケコンもコンパイラの時代になったのかと。

「ポケコンパイラ」はPC-1251の1桁の液晶ディスプレイにゲームを作成するのに向いたゲーム用の 言語だったけど、1桁は厳しいから1988年ごろのSHARP E500(大学生協版PC-1480U)なら、 240x32の液晶だからポーカー、麻雀で遊べそうな気がする。

要はゲーム言語を作ってWZ-660と昔のSHARPのポケコンの双方で動作するようなコンパイラがあると、 いいのかもと。8bit CPU WZetaのハードマクロの勉強になって、後にIoT Javaの開発に役立つかもしれない、 夢のある話。

240x32の画面が表示できるWZ-660は、まだリリースできていなくて、 SnakeCubeの広告作業が終わるまで、つまり、今月末になって、しまうこともありそう。


5月3日 WZPC規格作ってみる

CPUにWZetaを搭載した8bitパソコンWZ-660を開発しています。 特定のハードに実装した結果をWZPC規格として作ってみる。 個人でやっているので完成しないことも良くあると思ってください。

画面モード160x48を廃止しようと考えているところなので、 廃止のことを早めに連絡しようと思った結果、WZPC規格に言及することになった。 数十年前のSHARPのポケコンで使われた150x32、240x32を追加しようと考えたからなのだけど、 本当は現在、コスパの良い液晶を考えたほうが良かったのかもと思っていたり。 ポケコンのエミュレータが存在しているから、いいかという気もしている。 当面は320x240、16色(QVGA)の実装をしていると思うから、ポケコン画面対応は遅れるかも。

ハードマクロ命令の0番にBIOSCALLというラベルをつけてBIOSコールにすることを考えています。 Intel x86ではソフトウェア割込み(MS-DOSではINT 21h命令)を使っていますが、 ハードマクロ命令は、ハードマクロ命令を実行中となり、割込みを受け付けるので、便利かもしれない。 アセンブラでは、次のように記述

    ^BIOSCALL 0x01

上記ではファンクション番号0x01番のBIOSコールとなる
0x01番はAレジスタに画面モードを設定しておく。 この他、キーボードやタイマーを制御できるBIOSコールを作成予定。


5月3日 WZ-660パソコンの開発、漢字表示(2)

漢字ROM作れるのか?みたな質問。漢字コードから漢字のデータに繋げる方法が、 通常のROMにデータを入れるよりFPGAのLUTのほうが、良い点がある、ということかも。 まだ実際にやってないから保証の限りではないけど。

容量の関係で利用頻度の低い漢字のデータを削減することを考えると、 漢字コードと漢字データが入っているアドレスのテーブルが必要になるけど、 FPGAのLUTやスライスで作ると、漢字データの入ったLUTを大型セレクタに接続しないだけでいい。 漢字コードと漢字データの接続はFPGAの配線で実装できて、しかも高速だということかも。

XilinxのFPGAはLUTを64bitのデータが入るROMにできる。そしてLUTが4個入った スライスは4入力セレクタのハードを持っている。さらにスライスを16入力セレクタとして使うことを考える。 最終的にデータが無いアドレスをいっぱい持った、素晴らしいROMになるということ

ただし64bitのデータを取り出すのに64クロック必要となるので1命令4クロックのWZeta SDogコアでは 16命令に1個の漢字データしか取り出せない。テーブル参照して漢字データを取り出すのも、 数命令かかるから、遅いというほどでもない。


5月2日 WZ-660パソコンの開発、漢字表示

タイマー機能を追加して、次は漢字表示を考えているところです。
MSX3もXilinxのFPGAらしいといううわさがありますが、 WZ-660はXilinxのFPGAを搭載するDigilentのArty S7-25(or A7-35 or S7-50)のボードを考えているところです。

現代の8bitパソコンで、最も面白いことと言えばMSX3のCPU、Z80(R800)とWZ-660のCPU、 WZetaのマシン語比較だと、僕は思う。 40年前(1982年)の8bitパソコンの多くはZ80と6809というCPUだった。その比較が楽しかった。 Z80の半分のクロックしかない6809でも性能が出るとか、いろいろ雑誌にも掲載されていた。

WZeta SDogコアは非常に少ないトランジスタ数で作られているためArty S7-25の5~10%程度のLUT数しか使わない。 あまったLUTに漢字ROMを入れてI/Oでアクセスするとメモリ空間も消費しないし好都合だ。 Xilinxに特化した加工をすれば8x8の恵梨沙フォントならJIS第一、第二水準など約7000字の全てが入るかもしれない。 8x8の漢字だと読みにくいからファミコン風なゲームしかできないかもしれないが。 12x12(実質11x11)のフォントだと8x8の漢字ROMの容量が2倍となってしまうのでS7-25では数千字しか入らないと思うが、 入ってない漢字をチェックできるツールがあれば、ゲームで使うのには、なんとかなるかもしれない。

MSX3で漢字ROMをどうやっているのか、わからないけど、WZ-660をArty S7-25に実装した場合、 あまったところに漢字ROMが、いっぱい入って、しかもメモリ空間を圧迫しないものができるかもしれない。 とうことで歓声をあげている。設計工数は、かかりそうだけど。

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



5月2日 今後の予定

今月末くらいまで暗号プロセッサSnakeCubeの宣伝広告を作成しているので、 1日以上、工数が必要な話は、今月末まで遅れます。


5月1日 産業スパイに妨害された

電波型サイバー攻撃によって脳を攻撃された。 産業スパイは偏差値が1減る程度の軽い問題だよねというようなことを言っているけど、 偏差値20から1減ると19になる。植物になったらどうするのかと、全然、軽くない。


暗号プロセッサ OpenICF3