Home
2024年
2023年
2022年
2021年
2020年

2月28日 大学でAES暗号の並列処理を研究していた

ネット上が騒がしいので、事実を正確に書こうと思います。 最近、僕が作ったCPUで並列8bitパソコンを開発して儲ける話をしました。 AES暗号の並列処理をすれば高性能で、いいですよということを 話したことが原因になっているのだろうと思われます。
早稲田大学の研究が勝手に僕によって漏洩されているという疑いのようです。
基本は大学はソフトウェアの研究。僕はハードウェアの実績のある珍しい人材です。 大学の研究成果が漏洩しないようにすれば、しないのです。
2005年に日立製作所を退職していますが、退職直前に、これはヤバいかなと思って、 急に早稲田大学に寄付をしていました。退職後、大学の研究室に寄ったのです。 (現)副総長の笠原先生に、ちょうど寄付金くらいの金額のアルバイトをさせてもらいました。 そのときの課題が「マルチプロセッサでAES暗号のソフトウェアによる並列処理」でした。
このとき、僕はDES暗号のハードウェアによる並列処理の特許(寄与率5%)を取得していて ハードウェアの並列処理ということであれば、こちらが専門という状況でした。 ちなみにDES暗号の特許は、DES暗号の並列ハードがある暗号装置のまとめ係をしていただけで、 直接関係していませんが、会社から6000円程度もらってます。
「マルチプロセッサでAES暗号のソフトウェアによる並列処理」は、依頼を受ける時から、 プロセッサ間通信が貧弱なSMPのワークステーションでは難しいだろうと思っていましたが、 やっぱり困難で、すぐにクビになりました。
では何故、並列8bitパソコンでは高性能で処理できる話が、できたのかと言えば、 データを8分割して、それぞれにCPUを割り当てて並列に処理していいことにするからなのです。 組み込み内のローカルな転送は、自分で勝手に決められるため、並列処理で高速化できるのです。
余談になりますが、先日、東工大がリリースしたCPU 「SubRISC+」 の研究支援をしている産総研の研究員の後藤 真孝さんは、学生時代に、いっしょに「そば屋」で飯を 食べたことがあるのだけど、本人は、覚えているだろうか。 後藤さんの当時の研究は富士通のスパコンAP1000でマルチメディアだったかと、 僕の友人の話ではカラオケシステムではないかと冗談を言っていましたが。 僕のほうが1年上の先輩だったりするのです。


2月26日 SnakeCube作業報告

昨日の作業報告と同様。頭痛で多くの時間を眠らされていました。 目が覚めているときは全身筋肉痛で、やっぱり寝ているしかないという状況。 おかげで進捗ありません。 暗号プロセッサSnakeCube(Parrot Like)は、仕様が固まれば、 小さいCPUの実装と同じで簡単なのです。 にもかかわらず産業スパイが24時間体制で効率的に妨害してくるので進捗ゼロ。 単なる頭痛ではなくて意識がなくなって支離滅裂なことを言っている自分に気づく回数が、 1日に何度あったことか。10回を超えているような気がする。 僕が壊れるまで、どれくらいなのか、わかりませんが、 僕が壊れたら、産業スパイの行いについて、後世まで語ってください。 僕は日本の半導体技術で大活躍した英雄だと思っていますが、大会社にいた頃は、 偉くなる人だからと言われて、散々、仕事をさせられて結婚すらさせてもらえず、 気づけば頭痛攻撃で痛い思いをする日々。

まとめると大会社は『青色LEDのような』発明をした人を、偉くなることを言って 長時間残業させて、結婚する時間を与えず、おまけに甘い汁を一滴もすすらせることもなく、 その後、頭痛攻撃で連日、痛い思いをさせてハクチにするとか、 これ以上ない最低な行い。東大常勝システム、そうSNS書いた人があった。
これ以上ない最低な行いだと思う人があるから、まだ僕の命があるのかもしれないけど。

僕の親戚は31歳の若さで他界した。僕より2才年上の従兄。 しかも、その人生は辛い日々だったと思う。 親に暴力をふるったこともあるらしいが、その気持ちはわかる。 ここからは僕の想像が多くなるのですが、子供の頃から付き合いのあった 唯一の親戚と言っても良く、僕が語っても良いと思っています。
従兄は兄弟2人で家業を継げるのは、どちらか一人。 従兄の偏差値は50より、もう少し上だと思いますが、生きていれば、 周囲に迷惑がかかる状況だったのだと推測します。 いらない人間になってくださいと言ったところで、 本人が納得するはずもなく、周囲は徹底的にボコったのでしょう。 大人になって再会したときに子供の頃の面影がなくなっていて、 別人のようになっていた。この時、本当に辛かったろうにと思いました。

さて、僕のSnakeCubeの発明で、技術が必ずお金になるわけではないということを考えても、 少なくとも、一人分よりは、多い価値が生み出されているはず。

個人的な都合で国益ごと潰す信用のできない人による統治で問題になるより、 僕の持つ技術を金に変えることを優先できるようになればと。

どうして、これ以上ない最低なことが起きたのか、これは僕の生まれも関係が あるのかもしれない。僕の親が政府系の企業だからという「政府信用できるか」 みたいな話。僕も50年以上、生きてきたけど、親の本当の子供ではないと気づいたのが、 つい数年前の話だ。ここ数年で、どんな状況で僕が誕生したのか、考えてみたが、 最も可能性が高いと思ったのは、財産のある家に生まれ、手首を切られて、 法律上死んだことになって、財産権をはく奪されたのではないかということ。 そして政府系の企業の社員に託された。 手首の切り傷の写真は、このサイトの連絡先にあります。
赤んぼうの頃の傷だと成長とともに消えることもあるはずなのに、 写真にあるように大きく残っている。大動脈の位置を正確に切られているので、 大出血していただろう。少しでも放置されれば即死ではないだろうか。 つまり法律上死んだことにして、その場で蘇生したのだと思う。 まだ、この時は僕に用事があったのかな。


2月25日 8bit CPU ICF3-Zの割り込みについて

ARM、RISC-VにないICF3-Zのメリットはトランジスタ数が少ないことだと考えています。 このためICF3-ZにOS搭載することを考えるというより、OSが搭載できそうなら、 やってみようかという方針を持っていました。
OSを実装するにあたって常識的な方法というのはあるかもしれませんが、 CPUにそれを実装するために必要な機能がなければ、別の方法を考え出して、 なんとかなることはあると思います。
例えばCPUにはキャリーフラグやゼロフラグがあります。 値がゼロか、どうかの判定は、実はキャリーフラグでもできます。 8bitのBレジスタに定数0xFFを加算するとBレジスタが0以外の場合、 加算器からの出力キャリーは1になるのでキャリーフラグに取り込めばゼロか、 どうかの判定ができます。 このケースが性能が落ちるのですが、暗号プロセッサでは、 あまりゼロ判定の性能は不要なので、 トランジスタ数を少なくするために、この方法を使うことはあります。
ICF3-Zの公式実装Zeviosの割り込みを改善して別の実装を作ったほうが、 いいかなという気になっています。いつできるのか、ちょっとわからないですけど。 少しのトランジスタ数の増加で任意のタスクに戻れるような方法を思いついたので、 なんとかなると思ったのでした。


2月25日 マイコン新時代到来?マルチプロセッサへ

CQ出版のInterface 4月号を購入。 8bit CPUにMicroPythonを移植する記事があったので購入しようと思ったのですが、買ってみてびっくり。 MicroPythonがFreeRTOSになっていました。どうもCQ出版の偽サイトに騙されたっぽいです。 僕の日記サイトも偽サイトで誤った情報を掴まされている可能性はあると思います。 重要なことは僕に直接、訊ねていただけるよう、お願いします。
せっかくInterfaceを購入したのでFreeRTOSの記事を少し読んでみました。 タスク・スケジューリングの話が書いてありました。 複数の仕事を、どういった順番でCPUで実行するのかという話です。 参考までに30年前、僕の大学の卒業研究はマルチプロセッサのタスク・スケジューリングです。 同じタスク・スケジューリングという言葉ですが、大雑把に言えばOSのタスク・スケジューリングと コンパイラのタスク・スケジューリングは別物と思ったほうが、良いと思います。 同じ言葉だからといって別物ということは、良くあるので、注意しましょう。
僕も、それほど詳しくないのですが、FreeRTOSのタスク・スケジューリングを読んで思ったことは、 タスク毎にCPUを割り当てれば、メンテナンスが良い、高信頼なシステムを構築できるのではないか。 ということです。プログラマは1つのタスクのリアルタイム処理に専念できますし、 複数のCPUで処理をするので処理量のわりには低いクロック周波数で動作できるので電磁波対策になれば、 高信頼を得られるので。
そしてマイコンのマルチプロセッサ化に貢献するのは、少ないトランジスタ数で乗算除算も高速に演算できる ICF3-Zです。 CPUの高速化は32bitで進んでしまったので高性能な8bitはあまり存在していないはず。 暗号プロセッサのために1999年に僕が独自に設計した加算器一体型の乗除算器がいいのです。
並列8bitパソコンを開発して、多くの人が並列アルゴリズムを 開発できる機会を得られれば、この国の産業が活気づくような気がします。 何か、できないだろうか。
パソコンの儲けが、あてにできれば、立ち上がりが良くて、失敗しても、 昔の8bitパソコンのようなホビーとして楽しく遊べるというもの。

おまけの話
僕が中学生の頃に買ってもらった8bitパソコンはSHARP MZ-2000。 兵庫県川西市あるダイエーで19万円でした。MZ-2000は グラフィックメモリが別売でテキスト表示しかできませんでした。 どうにかグラフィックメモリ2万円?くらいで購入してもらいました。 パソコンのメモリといえばDDR3とか規格があって基板にチップが張り付いているものだと思うかもしれませんが、 MZ-2000のグラフィックメモリは違っていてRAMのチップをソケットに自分で差し込むタイプでした。 僕が中学生ということもあって、不注意にも、1つだけ反対向きにチップを差し込んでしまったのです。 パソコンの電源を入れて画像を表示させると、明らかに動作していないチップがある画面でした。 あわてて、もう一度、パソコンのフタを開けて正しい方向にチップを刺したのですが、1回で壊れたようです。 MZ-2000はグリーンディスプレイなので赤、緑、青、どれを表示させても緑なのでカラー対応のゲームをしても、 色がわからなくてゲームにならないという問題がありました。 カラー対応の麻雀ゲームでは、「白」と「中」が区別できず、ゲームができませんでした。 ところが、この故障したメモリのおかげでグリーンディスプレイでゲームができるようになったのです。 故障したRAMは赤の担当だったようで「白」と「中」の区別ができたのです。 すべてのハイが識別できたので、普通に麻雀ゲームができました。
とても笑える話でしょ。


2月24日 SnakeCube作業報告

作業再開と同時に頭痛で寝てしまいました。 データセンター向けのSnakeCubeを最優先としていますが、 IoT向けのSnakeCubeや自動車向けのVattles(ICF3-Z 9個のマルチプロセッサ)も、 産業に影響するため、これらが遅れることを懸念する人もあります。
これだけのネタがあって事業が立ち上がらないことは、憂慮すべきことで、 なるべく事業化を考えていくべきなんだろうと思っています。 産業スパイによる妨害をどうにかしないといけないと思っています。
量子コンピュータの進歩が思ったより早く進めば、 インターネットでネットバンクのサイトが信用できなくなったり、 遠い国の企業サイトが信用できなくなる危機が起きるように思います。 この危機に備えてRSA暗号のSSLサーバ証明書の鍵長を大きくする準備を急いだほうがいいように思っています。 僕が急ぐ必要があります。
頭痛が完全になくなっている時間は、あまりありません。 産業スパイの手元にあるボリュームコントローラーを作業できない 限界値くらいまで絞っていることが多い。産業スパイの都合が悪くなれば、ボリュームを上げて、 僕が倒れるという状況です。これをどうにかしないと、RSA暗号の鍵を大きくする準備が進まず、 ネットバンクやインターネットが安心して利用できないということになるように思います。
RSA暗号の性能を上げるには別の方法もありますが、鍵が大きくなるにつれて、 レイテンシ性能が不足してSnakeCube以外では困難になります。


2月22日 東工大がCPUを開発したというニュース

PC Watch記事
東工大、IoT向けCPUアーキテクチャ「SubRISC+」。エネルギー効率3.8倍
ボタン電池(水銀電池)で動作する機器で、減算・シフト・論理演算・メモリアクセスの 4命令で効率的に実装できるアルゴリズムを利用する機器を想定している専用CPU。
想定した用途では効果があるかもしれない。USBコネクタの充電設備が整っている現代では、 地球環境問題を考えるなら、ボタン電池でなくていいものは、充電式電池がいいように思えます。 つまり、必要以上に消費電力にこだわる必要がなく汎用CPUでいいのかも。
想定している用途よりは、拡張してより汎用的を目指す方針が書かれています。 SubRISC+は機能削ってメリット得たのに拡張すればメリットがなくなるようにも思えます。 ですから、他の汎用CPUを絶滅させることは難しいように思えるので、 このCPUのエコシステムに、お金をかけるよりは、お金をかけずに用途限定の 低コストな専用CPUであったほうがいいように思えました。


2月17日 Raspberry Pi Pico外付けの除算器の性能

QiitaにPicoの除算性能を実測した投稿 があったので、それを元に除算器の性能を推測します。 ネットから採取されるデータから、考えられる範囲で、Picoにとって最悪ケースの推測ですが、 当たることはあると思います。
記事では100万回、除算した時間を測定しています。
212771[uS]なので除算1回の時間は212.771[ns]です。 除算器への転送時間を考慮すると除算1回、12サイクルと考えらえます。
12サイクル = 212.771[ns]
1サイクル = 17.731[ns]
クロック周波数 56.4[MHz]のようです。最大周波数133MHzの半分以下。
ICF3-Zは疑似パイプラインなのでCortex-M0+の2倍近い周波数が出る予想です。 Picoの除算器は8サイクルですが、恐らくICF3-Z換算では32サイクルの除算器ではないだろうか。 参考までSHマイコンなどでは商と余は同時に演算できませんが、 PicoはICF3-Zと同じように商と余を同時に演算できるのです。 要するにPicoの除算器は、ICF3-Zの除算器と同じアーキテクチャなのではないかという疑いです。
ちなみにICF3-Zの除算器のアーキテクチャはICF3(1999年)と同一です。


2月17日 VattlesのAES暗号の性能

AES暗号は良く使われる用途の一つです。AES暗号のCBCモードの復号化では、 8個のサブCPUの稼働率は、ほぼ100%になります。 データを8分割して、それぞれCBCモードの暗号化をすれば、暗号化においても稼働率が、ほぼ100%になると思います。


2月17日 Raspberry Pi Picoは外付けの除算器を装備

PicoはCortex-M0+ 133MHz、2コアのARM CPUを搭載したマイコンボードです。 外付けのハードウェア除算器をコア毎に装備しているので、ソフトウェアによる除算より、 かなり高速に動作します。割込みの中の処理で、この外付け除算器を使うには、 ちょっと工夫がいるようです。 割り込みの応答性能が劣化する問題がありますが、 PicoによってARMがローエンド市場を支配するかもしれません。 外付け除算器だけでなく音声向けのハードも追加されています。 プログラマがこの音声向けのハードを使いこなせばPicoはコスパのいいマイコンになるということでしょう。
少し気になるのは、外付け除算器や、1サイクル乗算器を有効にした場合、クロック周波数が133MHzで動作するのかという疑問。 32÷32の除算の実行時間は8サイクル程度のようです。 本当は32サイクルの除算器なのをクロック周波数を4分の一にして8サイクルで動作しているように見せているのかもしれない。 それでも除算ハードによって性能が上がれば、周波数を落として低消費電力になるので、役には立つ。
攻撃的な営業マンであれば、こんなマジックを使って、競合を潰す戦略も、あるかもしれないと。
PicoはCortex-M0+にしては、高性能ですが、その分、トランジスタ数が増えて、 仕様が煩雑になっているように思えてならない。いる。素直にCortex-M3にしなかったのは、 製造技術の低い工場でも生産できるメリットを考えたのか、どうなのか。
ARMのアーキテクチャの世界とは、全く異なるICF3-Zのアーキテクチャの世界が必要ではないかと思えてならないのです。 ARMは万能でなければならないアーキテクチャですが、 ICF3-Zは割り切ったアーキテクチャにすることで、メリットが得られるのではと考えます。


2月16日 プロセッサVattlesの並列プログラミング

Vattlesを構成する9個のCPUは、すべて ICF3-Z(Zevios)です。 このため1個のMain CPUのプログラムも、8個のSub CPUのプログラムも 同じツールでプログラミングできます。 ただしSub CPUでは同じサイクルにレジスタをリード・ライトできない制限があります。 このため少しMain CPUより性能が落ちます。
Main CPUとSub CPU間の通信は、デュアルポートメモリを使うことで、非常にシンプル通信できます。 Main CPUから見るとメインメモリにリード・ライトするだけです。 Sub CPUもメインメモリやレジスタをリード・ライトするだけでMain CPUと通信できます。 例えばAES暗号のプログラムをSub CPUに入れておきます。 AES暗号は固定サイクルで演算できるのでMainがSub CPUのメモリ領域に演算したいデータを書き込んで、 固定サイクル待ってから、Sub CPUのメモリ領域のメモリを読みだせばいいのです。 MainがSubの0番にAES暗号化を依頼してSub 0が実行を開始します。 次にMainがSubの1番にAES暗号化を依頼してSub 1の実行を開始します。 MIMD型なので、すべてのSub CPUにデータをセットするまで実行を待つ必要はありません。 最後のSub CPUにデータをセットして実行を開始したら、 0番目のSubの演算が終わるまで待ちます。 ICF3-Zはプログラムの実行サイクル数を計算するのが容易なので 並列プログラミングが簡単にできると思います。
例をもう一つ上げるとZIPやLHAのような圧縮を2KB単位でSub CPUに依頼すること。 ZIPやLHAのような圧縮プログラムは実行時間が可変長なのでMain CPUが終了を確認する必要があります。 1バイトの終了フラグをSub CPUのレジスタ(スクラッチパッド 256バイト)の領域に確保して 終了を書き込めば、Mainがそれを確認して、圧縮されたデータをリードします。 終了フラグはレジスタでなくてもデータメモリの領域でもいいのですが、 レジスタにすると1サイクル早く終了を報告できます。 ZIPやLHA圧縮のように実行時間が可変長な、ものでも並列プログラミングが簡単にできると思います。
Main-Subのプロセッサ間は、デュアルポートメモリなので、通信時間がほとんどないため、 小さい単位での並列化も可能です。 ICF3-Zの命令セットについては、初心者にとって難しいものですが、 Vattlesの並列プログラミングは、簡単だと思います。

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


2月15日 ICF3-Zの方針に違反

並列8bitパソコンの話です。
僕が開発している8bit CPU ICF3-Z は方針として税金を使わないことを決めています。SNS上には「自分で決めた方針を自分が破ってどうする」 みたいなものもあったので少し解説をします。
ICF3-Zを9個を使った並列マシンVattlesは30年前の早稲田大学にあった並列マシンOSCARに似ている ところもあってOSCAR研究成果が入る、つまり税金が使われることにならないか?ということだと思います。
僕はOSCARのあった研究室に入ったのですが、既に並列マシンOSCARは老朽化していたため、 次の並列マシンのための研究のほうをしています。次の並列マシンは富士通のスパコンのことです。 つまり僕自身は並列マシンOSCARの研究はしていません。 並列マシンOSCARの研究の要点は8~16プロセッサをバスで接続した並列マシン向けに 自動的に最適化するコンパイラです。 既存のプログラムを人が並列化をすることなくコンパイラが自動的するというもの。 既存のプログラムは、あまり並列性がないものも多く、これらを自動的に並列化して、 高性能を得るために、OSCARではプロセッサ間通信の性能を上げるためバスを3本にしています。
一方、Vattlesはバスを1本にしてハードを単純化しています。 並列性のない既存のプログラムを、どうにかして高速化するということを捨てます。 上流仕様から、人がプロセッサ数の並列性のあるプログラムを作成して、 CPUのクロック周波数を圧倒的に低くします。 最も重要なVattlesの目的はクロック周波数を圧倒的に低くして電気自動車など電磁波ノイズ対策として使われることです。
つまり並列マシンOSCARの研究成果は、あれば便利かもしれないですが、なくても全く問題ないのです。
研究室の卒業生の方にはアルゴリズムの並列化が得意な人も多くいらっしゃると思います。 企業に入られた方で、税金と関係ない人がVattlesシステムの納品先の開拓と、 ともにVattlesの先生になっていただければ、この国の産業が活性化するように思いました。

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


2月15日 並列8bitパソコンのコンセプト(おまけ)

並列8bitパソコンのコンセプトを第1回目から第4回目まで日記に書きました。
第1回目  第2回目   第3回目  第4回目
従来の計算機アーキテクチャはSIMD型が多くPlayStation3のCellもSIMD型です。 並列8bitパソコンのコンセプトの日記を書いていくうちに、 組み込み向けの小型のMIMD型が、これから先端技術として製品に導入されていく ような気がしたのです。ただ本当にそうなるのかは、わかりません。 厳密には1個のCPUのメモリ空間に8個の独立に動作するCPUを デュアルポートメモリで接続したマシンです。
サブCPUの個数、メモリのサイズ、メモリ空間の割り当て、割り込みなどを具体的に決めた仕様がないと、 プログラムやハードの開発は進まないと思っています。
パソコンのハードはXilinxのFPGAを使えば、組み立てとケースを作るだけで、出来そうです。 完成品も販売されていますが、在庫のみで販売終了なので、大量生産するには、組み立てるしかない。 このMIMD型のマシン(Vattles)でパソコンを作って、将来役立つように言えば、売れるということはないだろうか。
僕が中学生の頃はNEC PC-8001、SHARP MZ-80B/2000、富士通FM-7の時代で、 将来役立つという宣伝で10万円以上の値段で販売されていました。 期待するほどには役に立ちませんでしたがゲーム機としては役に立っていました。
TOSHIBA PASOPIAは「1家に5台」のキャッチフレーズのテレビCMをやっていたような気が。

8bit CPUが先端技術になることは考えていなかったのですが、可能性があるなら、 失敗しても無傷な範囲で、やってみたほうがいいように思ったのです。

NEC PC-8801のテレビCMのYoTube、 斉藤由貴が「パソコンは英語よりも大事」と言っています。


2月12日 並列8bitパソコンのコンセプト(4)

第4回目です。初めての人は第1回目から読んだほうがわかると思います。
第1回目  第2回目  第3回目
第3回目では自動車のセンサーとシステム間のデータ通信の圧縮について書きました。 8bit CPUを並列で動作させるよりも高周波数の32bit CPUのほうが便利かもしれない。 自動車の電子部品産業が、どうなっているのか、知っているわけではない。 しかしこれから流行る電気自動車で電磁波によるノイズが誤動作をさせる 問題があることはネットを見ればわかる。 そこで並列処理によって低い周波数で動作するCPUを使えば、多くの場合、 電磁波によるノイズの問題が小さくなると思われます。
8個の8bit CPUで8倍の性能がでるような圧縮アルゴリズムを採用すると、 32bit CPUと比較しても3倍から5倍の性能が出るように思います。 つまり3倍~5倍、周波数を落とせるということなので、電磁波対策の効果が期待できるかもと。
高信頼化のための並列処理。 4コアのARMでも同じ電磁波対策は、できそうですが、センサー毎に4コアのARMは割高な気がします。

汎用CPUによる並列処理ではなくて圧縮専用プロセッサがいいと思った人いたので解説すると、 圧縮アルゴリズムは用途が決まれば、それに合わせた圧縮方法によって、かなり効率の高い圧縮が期待できるのです。 用途ごとに圧縮専用プロセッサを作るのは、やはり高価かと。


2月11日 並列8bitパソコンのコンセプト(3)

並列8bitプロセッサVattlesの応用アプリケーションを考えてみる。 Vattlesの8個のサブCPUはGPUと異なりMIMD。 トランジスタ数を少なく抑えた8bit CPU Zevios(ICF3-Z)だからMIMDにすることができる。 並列処理によって低い周波数でも性能が出せるので遅い安価なメモリが使える。 このVattlesが安価なデータ圧縮プロセッサということになれば、 自動車などでセンサーとシステムとの通信で使うと、低いデータ転送レートでいいことになる。 そして安価な配線材料を使えるとなれば、自動車の生産台数を考えるなら、利益が出そうです。
Vattles搭載パソコンが普及すれば、通信内容に応じた高効率な圧縮アルゴリズムが考え出されるかもしれない。 存在しないハードの圧縮アルゴリズムを考える人はいないでしょう。


2月11日 VattlesはOSCARのデッドコピーか?

早稲田大学の笠原研究室の並列マシンOSCARを、ご存じの方もあるかもしれない。 約30年前に僕が笠原研究室に入ったときにはOSCARは既に老朽化していたが、 自動並列化コンパイラの研究に、まだ現役で使われていた。当時の学会関係では有名なマシンであったようです。 僕と同じ日立の大型コンピュータの事業部に入った研究室の同期はOSCARで 研究データをとっていたと思います。 僕はOSCARの実機を触る班に入らなかったので、実は良く知らないのです。 8個のプロセッサが3本のバスで接続されるアーキテクチャという記憶が残っています。 VattlesはメインCPU1個、サブCPU8個で1本のバス接続(相当)なので、デッドコピーではないです。
VattlesのCPU、ICF3-Z(Zevios)は税金を使わない方針を謳ってプロジェクトを 立ち上げているので、学校関係で使えなくて、すみません。


2月10日 並列8bitパソコンのコンセプト(2)

Parrotの作業をしながら頭痛で休んでいるときに 並列8bitパソコンのコンセプトを考えています。 XilinxのFPGAを搭載した Cmod A7を、そのまま使ってもいいし、電子工作が好きな人は自作してもいい。
8個あるサブCPUを効率的に使えるアプリは何だろうかと考える。 サブCPUに1つの仕事を割り当てる制御系のアプリはプログラミングが容易になって使えるかも。 メインCPUがサブCPUの状態を見ながらサブCPUをコントロールするのも容易だと思う。
通信をAES暗号で暗号化したVT100端末にすると、子供が多い家庭では普通のPCに寄生する形で パソコン通信に接続できる。あるいは、できるなら直接SSHクライアントでもいい。 端末では通信は下りが圧倒的に多い。AES暗号のCBCモードの復号化では8個のサブCPUで 8倍の性能を出せる。暗号化された受信データを高速に復号化できる。 非力な8bit CPUのパソコンでも通信端末にできるかも。 普通のキーボードを接続すればメールをやりとりしているうちに子供が ブラインドタイプを覚えられるところがいいのかも。
サブCPUの主記憶(データメモリ)はメインCPUの主記憶(データメモリ)でもあるので、 最大64KBの主記憶(データメモリ)を持った8bit CPU 1個のパソコンとして使ってもいい。 スタンドアロンで仮想マシンを活かしたプログラミング言語の学習用として使える。

昔の8bitパソコンと違ってプログラムメモリは別に存在している。 現在は最大256KBですが、すぐに最大1MBに拡張できる予定。


2月9日 並列8bitパソコンのコンセプト(1)

IchigoJamのように、 マイコンではなくてパソコンという売り方にすると付加価値が大きくなって利益が出やすいのかと思ったのです。 8bitパソコンを趣味で作ってみたいなと思いコンセプトだけ考えてみた。 XilinxのFPGAを使うことしか考えてないので、優れたアーキテクチャの パソコンではないかもしれないが、結構、いいかもと思えている。 高性能は期待できないが、たまには、高速化の役に立つかもしれない。
多くの用途では高周波数のARM、RISC-Vで十分だと思うが、 8bit CPUを並列にしたほうが、高速な処理が、たまにはあるだろうと。 そのたまにしかなくて、1人ではできないところを、汎用的に使えるパソコンにすれば、 なんとかなるかなと。
この並列8bitプロセッサはバイト単位のアクセスのスループットが、高性能なマイコンを 超えることを可能にする。見積の精度はあまいけどXilinxのFPGAを搭載した Cmod A7-15T では8個の演算CPUを搭載できるかな。話題のRaspberry Pi Picoと同じくらいのクロック周波数で動作する。 16bit÷8bitなら10倍の性能が出そう。Picoは2コアだから除算しかしないプログラムなら40倍高速。 (PicoはCortex-M0+なのですが外付けの除算器を持っているようです)     バイトアクセスの性能は単純計算すれば4倍。これを活かすことができればPicoの性能を超えることができるだろう。
将来、8bit CPUの並列処理によって32bit CPUよりコスパのいいプロセッサになるかもしれない。 この並列8bitプロセッサの名前を「Vattles」にします。 由来はナムコのゲームXeviousのデッドコピーBattlesの頭文字をVに変更したもの。 Vattlesを搭載した並列8bitパソコンは商用化を目指すので、すみません。 税金、学校関係の方は、ご利用いただけないです。
でも、当面、時間ないか。プロセッサ間通信はメインCPUがタイミングを見てリード・ライトします。 趣味の8bitパソコンだが、並列プログラミングを極めると、 組み込み向けのデータプロセッサとして将来、使えることがあるかもと思えている。 ほとんど期待できないが、コスパのいいデータ圧縮プロセッサになったりするだろうか。 ICF3-Zが将来、使えるCPUになること期待で、ICF3-ZのCPU 1個の8bitパソコンとして遊んでみてもいい。

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


2月7日 テレビ番組「情熱大陸」テレワークシステム開発を見た

2021年2月7日に放送の「情熱大陸」

コロナ禍であえぐ全国の自治体を救え!天才プログラマーが挑む緊急テレワークシステム開発

番組をリアルタイムで視聴しました。 2月2日の日記「仮想LANカードと仮想ICカード」でも話しましたが、 番組の主人公、登大遊さんと同じ通信暗号に関することを僕もやってきている。 登大遊さんはソフトイーサの会社の社長さんなのですが番組でNTT東の取締役との定例会で 故障した光ファイバーを実験用に使えないかみたいなことを社長の登大遊さんがNTT東の取締役に訊ねていました。
とくに番組を見る必要はないです。 これから僕が社長の(株)iCanalでSSLアクセラレータ(通信機器で使われる暗号プロセッサ)を 開発していこうかと思っています。Xilinxの偉い人に、故障したFPGAデバイスを廉価版の製品として使えないか、 という質問をしているところとかテレビの取材とか来ないだろうか、と思いながら笑っていました。(笑)
テレビの取材はともかく、故障したFPGAに興味があるのは本当です。 SSLアクセラレータは複数の暗号プロセッサで構成され、数個、壊れていても、 壊れているプロセッサを使わない設計をしておけば、故障したFPGAでも、性能が多少下がるだけなので、 コスパのいいSSLアクセラレータを開発できるのではないかと思っていたりするのです。 テレビの取材の冗談のついでのことなので、あまり重要な話ではありませんけど。


2月6日 暗号プロセッサの開発、販売のビジネス

以前から、やりたいと言っていますが、単純にわかっているのは、 僕の仕入れ、出荷先を抑えて資金繰りをショートさせることを考える人がいるだろうということ。 しかしながら経費というものが自分だけなので、当面、持ちこたえてしまいます。
発明をコアにした暗号プロセッサのビジネスですが、 SSLなどのように、いろいろなところで使われるようになるかどうかで売上予想は大きく上下します。 さらに量子コンピュータによる暗号解読が思ったより早ければ、売上は壊滅的に減ります。 発明だけを売っても、あまり大きなお金にはならないと考えられるのです。 つまり発明者、本人がビジネスをやるのが一番いいということで早急に立ち上がれるようにしたほうが、 いいように思っています。
開発の仕事ですがXilinx、一社でも複数のデバイスが存在して、デバイス毎に開発する必要があります。 これまででわかっているのはSnakeCubeは、とてもシンプルであるため デバイス毎に開発することができるということです。 デバイスの持つポテンシャルを最大限、性能に変えることができます。
SnakeCubeよりも、もう少し複雑になってくれば、論理合成によって、 さまざまなデバイスに展開するほうが、有利になってくるのかもしれません。
ただ人がデバイス毎に開発すれば安定した出力と、工数の見積精度が上がります。


2月4日 5G補足

前回の日記の補足。 僕の2005年の日立退職では、退職した次の日から競合他社の富士通にICF3を持って入ってもいい条件で退職してます。 富士通さんと、お仕事はできると思いますが、Xilinxが急ぐなら、富士通をあてにしないほうがいいのかもしれないです。 僕が急ぐのが一番早いと思います。


2月4日 富士通が5GにXilinxのデバイスを採用とか

Xilinxの公式サイト
ザイリンクス、富士通との協業により米国での 5G 展開をサポート

富士通に採用されたXilinxのデバイスはUltraScale+なので、 現在開発を進めている暗号プロセッサSnakeCube(Parrot Like)と同じ。 開発を急がないといけないのかと。
富士通と言えば1990年代後半に大型コンピュータのIBM互換機の開発で日立と争っていた時代がありました。 僕がIBM互換の暗号装置を、ほんのわずかな人数で開発することに成功したため富士通は大敗した。

そういうこともあって僕を知っている富士通の人は多いと思っています。

大型コンピュータは売れる台数が少ないのでIBMが仕様を、いっぱい作っても 互換機がそのすべてを実装できているとは限らないのです。 IBMの大型コンピュータに、どのくらい追従できているかが互換機の評価にもなる。 僕の暗号装置は、たった1回のチップ製造で、 IBMの仕様をフルスペック満たすことができたため高評価でした。

ちなみに大学時代はスパコンの研究室(現、副総長)にいて富士通と共同研究をしていました。 富士通から人が派遣され、いっしょに研究活動をしていました。 共同研究といっても、学生なので、あまりたいしたことは、できませんでしたが、 研究室から沼津にあるスパコンにモデムでアクセスしてメモリの 転送性能の評価をさせていただいたことがあります。 なので富士通さんならコミュニケーションを蜜にすることで成功までの距離が近いかもとは思っています。

僕の暗号プロセッサは、競合他社を許さない性能、効率です。 鍵を大きくしても性能を上げながら、効率が落ちないアーキテクチャという特性もあって、 公開鍵暗号を使うなら、僕の暗号プロセッサを採用するしかないだろうと考えています。 富士通が公開鍵暗号を採用するのかは不明ですけれども。
Xilinxのデバイスを採用を考える5Gのベンダは富士通だけではないと思いますし、 (株)iCanalが暗号プロセッサの販売をしていことになると思います。 よろしくお願いいたします。


2月3日 ルネサスにICF3は含まれてない!

【重要】 Samsungがルネサス/NXP/TIのいずれかを 買収する方向で検討か?、韓国紙報道というニュースが。
ルネサスは日立、三菱、NECの半導体部門が合体してできた大手半導体メーカ。 僕が(株)iCanal で販売していたICカードのICチップもルネサス製です。
暗号プロセッサICF3(1999年)は、設計開発の多くを僕がやっています。 2005年に僕が日立製作所を退職するときに日立製作所と正式な打合せをして、 僕がICF3を持ち出すことに成功しています。 当時、日立には僕のいた大型コンピュータ事業部と半導体事業部の2つがありました。 ルネサスには後者の半導体事業部の人たちが多く移っていったものと思われます。 つまりSamsungがルネサスを買収してもSamsungにICF3の技術は無いのです。


2月2日 暗号プロセッサを成功させた場合の経済効果

緊急で書くので十分な話はできないかも。 僕が発明した暗号プロセッサSnakeCube の価値がわかる人も多いのですが、目の前のことしか考えてない人は、 それをあまり理解せずに動いていると思っています。 このままだと日本の将来の損失のほうが、大きいものとなります。
僕の暗号プロセッサは現在、よく使われているRSA暗号を高速に演算するものです。 RSA暗号の高速化は、昔から良く研究されています。 従来研究の10倍以上なので、僕の暗号プロセッサに近い性能の競合他社製品が出れば、 僕のパクリだと考えられます。
僕の暗号プロセッサを成功させ経済を活性化したほうがいいと思います。
ガソリンエンジンが発明されているのに、蒸気機関を使い続けるのと同じように思うのです。 まだ十分な検証はできていませんが、設計上は鍵の大きくなるにつれてCPUより高速になっていきます。 鍵長をnとするとCPUによる計算時間のオーダーはO(n^3)ですが、SnakeCubeはO(n^2)なのです。 RSA 10万ビットのSSL証明書など、これまでではできなかったビジネスが、考えられるのです。

参考
僕のブログ「大きなモンゴメリ乗算器は実装できるのか?」 2019年11月06日


2月2日 仮想LANカードと仮想ICカード

Windowsのセキュリティに興味のある人向け。 2021年2月7日に放送予定の「情熱大陸」に出演される登大遊さんが仮想LANカードを作ったことで有名だと思います。

コロナ禍であえぐ全国の自治体を救え!天才プログラマーが挑む緊急テレワークシステム開発

仮想LANカードはWindowsのカーネルモードのデバイスドライバで仮想的にLANカードをエミュレーションするものです。 カーネルモードなので一般のアプリケーション開発者は、 なかなか手が出にくいのですが、これを筑波大学に在学中に開発していたとのこと。 そしてVPNソフトとして大ヒットしました。

仮想ICカードはWindowsのカーネルモードのデバイスドライバで仮想的にICカードをエミュレーションするものです。 普通のUSBメモリをICカードに変えることもできますが、特にハードがなくてもICカードを厳格にエミュレーションします。 僕が独学で開発しています。
他に代替品となるフリーウェアは存在せず、日本語のマニュアルしかないフリーウェアでしたが、 海外のダウンロードサイトで勝手に英語に翻訳していただいて 紹介してもらってます。

世界でも有名なのかも。早稲田大学の世界ランキングに貢献してない?(笑)

実は、ここまでが前置きで本題であるWindowsのセキュリティの話に入ります。 登大遊さんが始めたVPNソフト(SoftEther)ですがVPN接続の認証に僕のICカードエミュレータを使えるようにお願いして、 登録してもらっています。 その後、VPNソフト(SoftEther)のバグを見つけて1年の無償利用権をいただいたこともあったのですが、 全部、一人で開発している僕にはVPNソフトを使う機会がありませんでした。 しかし、SoftEtherのバージョンが上がる度に、動作検証をしていました。 ある時、SoftEtherをインストールしていると、未署名のデバイスドライバを、人の操作無く、 インストールする光景を目の当たりしたのです。Windows7の時代だったと思いますが、 これって脆弱性だよねと思ったのですが、それを利便性に変えて使っている。 しかし、カーネルモードのプログラムは、なんでもできます。 ICカードのPINさえわかっていれば、OSのバリケードをスルーして、 ICカードから任意の電子署名を奪うことができます。
多分、僕が民間最大のICカード専門家なので、書いてみました。


2月1日 SSL証明書の鍵を大きくして2年以上に

昨年、SSLのサーバ証明書の有効期間を1年に制限する方向になったようです。 RSA暗号の鍵を大きくして2年の有効期間を持ったSSL証明書を有りにする考え方は、 なかったのだろうかと思う。毎年、SSL証明書を発行する手間が省けるなら、多少、 サーバ代が高くなってもいいとか。そういう人、いなかったのかな。 量子コンピュータによる解読はRSA 3072bitでは問題を感じるけど10万ビットなら、なんとなく安心と思える人とか。


暗号プロセッサ OpenICF3