Home
2020年
2019年
2018年

2月29日 SnakeCubeの実装しやすさとは

昨日の日記に書いたのですが、その文章から「抽象化」が 良くできているように考えた人があったようです。 抽象化ではなくて、SnakeCubeは 小さいプロセッサを1列に並べて実装できるため、小さいプロセッサの設計に集中できること。 小さいプロセッサ内の加算器のキャリーとか、限られた本数の信号を キャリールックアヘッド(Carry look ahead)にするとか、考えればいいため、 配置を人に依頼しても実装に差がでない。チップにできる環境が手に入れば、自身でやっても、工数は小さい。
逆にSnakeCubeとは異なり、抽象化されたものを実装して差が出る場合、試行錯誤や、 実装者の能力に依存するため、費用が大きくなるのです。 チップの種類が変われば、状況が変わるため、開発を重ねても費用が小さくならない。
同じメーカが開発を多数していけば、万能なテンプレートが次第に出来上がっていくことはあり得ますが、 そこまで多くのチップが開発されないと考えています。
SnakeCubeのアーキテクチャは有利だと思っています。


2月28日 やっとSnakeCubeの作業に戻れる、、、しかし

ここ1年の統計的なことを話すと最優先のはずのSnakeCube、ほとんど進んでいません。 精密な足止めにより、ほとんど進捗が止まっています。 景気づけに進んでいる話をこれまで書いてきましたが、本当はあまり進んでいません。 午前中は椅子が壊れて修理。午後は体中が痛み出して寝ました。 夜は、脳の誤動作が確認され、この日記を書いています。
このままでは問題です。 足止めしている連中をどうにかしないといけないということだと思っています。
僕の脳の破壊や体を破壊して、SnakeCubeを強奪しても、日本企業は浮かばれないと思います。 海外のIT企業からしてみれば、うれしくないSnakeCubeを「発明者を破壊して強奪した」と正義を持って 非難できるわけですから。全世界的の人々にとってはSnakeCubeは、いいものですが。
僕の知る限り、SnakeCubeを僕が推進することを阻む問題はなくて、 足止めが問題しか起こさないという状況です。
何度か、言ってますが、SnakeCubeの実装しやすさとは、半導体製造業者が秘密にしておきたい情報を、 あまり知らずに性能が出ることが入っています。 そういった面でもSnakeCubeのアーキテクチャは有利だと思っています。


2月28日 高性能な公開鍵暗号ハードのアーキテクチャ

この日記を読むのは、いつも僕を監視して良く知っている人ばかりではないと思ったので書きます。 RSA暗号を高速化するアルゴリズム、アーキテクチャは昔から研究されています。 僕のSnakeCubeも、その一つです。 大きな整数の四則演算(特に奇数で割った余の計算)が高速であること、 半導体チップに実装しやすいことが特長です。
高速かつ実装しやすいというのは、過去の歴史から見ても難しかったのだろうと考えています。
SnakeCubeとは別の方式で、高速かつ実装しやすいものを研究しているところは、 あると思いますが、僕は、やはり難しいと思っています。 前提条件を増やして、その中で、より良い解を見つけるとか、不可能なことだとは思いませんが。 実際に検証できるところまで、見ないことには、わからないというのが僕の意見です。


2月27日 自宅のネットワークの監視システム(2)

自宅のネットワーク監視システムに興味がある人のみ。 非武装地帯の内側に、さらに非武装地帯があって、 外側の非武装地帯からは見えないWebサーバがあるのです。 無線LANは外側の非武装地帯に別のルータからアクセスするようにしているため、 内側のWebサーバに不正アクセスすること自体が困難。 万が一、このWebサーバが陥落しても、非武装地帯なので、あまり影響ありません。 内側の非武装地帯の、さらに内側もWindows系とLinux系と分けている。 インターネット接続するLinux系からWindowsにはアクセスできないなど。
各パソコンにはHDD切り替えスイッチを搭載しているものが多く、6個のHDDを切り替えられるものもある。 HDDごとにOSをインストールしている。 1つのHDD内に多数のアプリをインストールすると、セキュリティ的に干渉することがあるため。
セキュリティには、気を使っていると、思っています。


2月27日 自宅のネットワークの監視システム

不正アクセスや、サイバー攻撃を受けているので、ネットワークの監視システムを作りました。 CentOSではなく別のOSを使っています。ログを収集して的確な異常を検出をするのは、時間がかかるため、 自分の部屋の冷蔵庫にディスプレイを置いて、ずっとログを表示させています。 冷蔵庫にジュースを飲みに行くたびに、ネットワークに異常がないか、確認。 IPフィルタリングも強化しているので、市販のルータが仕事をしてくれれば外部からの侵入に対しては強くなっているはず。


2月26日 自作CPU研究会は学会関係の人が多いのかな

僕も大手メーカーに勤務していたころは学会の会員だったんですよ。 最初、研究所に勤務していたので、学会の会員になったのだと思いますが、 すぐに事業部に転勤になって長時間残業で、一度も学会に行かなかったですけど。 そして大手メーカーを辞めて、しばらく後に会員、止めてます。
今、自作CPU研究会のslack見ると、社会人の方も、いらしゃるようで。少し安心しました。



2月24日 サイバー攻撃対策を考える

僕は大型コンピュータの製品出荷前の調整作業を数年経験している。 大型コンピュータのCPUの交換作業なんかをしている。 パソコンについても、パソコンショップの店員ほどではないが、普通の人よりは詳しい。 ICカード関係でトラブルが発生したときPC/SCのドライバ(ICカードのドライバ)については、 店員よりも詳しいと言ったこともある。
パソコンにCentOS7をインストールしているのだが、目の当たりにしている現象は、故障ではない。 恐らくサイバー攻撃だろう。部品を交換して何度か、やっているが、インストールの調子が悪い。
USB接続のDVDドライブの読み込み速度が、極端に遅くなったり、動いたり、動かなくなったり。 DVDドライブを交換しても、そうなる。マザーのUSBの故障ということも考えにくい。
CentOS7のインストールでは、これまでも、何度かトラブルが起きている。 僕がそういうと、次に予想されるのは他のLinuxのインストールでもトラブルが発生すること。 CentOS7に話を戻すと、CentOS8ではなくCentOS7は、サイバー攻撃をする連中にとっては、面倒なOS。 CentOS7は、オフラインによるインストールで全てを完結できるからだ。 だからインストールさせたくないというのがあるのではないだろうか。
オンラインによる不正アクセスで、サイバー攻撃をしてきている可能性が、なくなる。
電波によるサイバー攻撃の可能性が高くなるのだ。
今回のCentOS7は、不正アクセスを監視させるためのサーバの試作で、これが安定稼働すると、 電波によるサイバー攻撃の可能性が高くなり、サイバー攻撃をやりにくくできる。
以前も、不正アクセスを監視させるためのサーバーをARM-Linuxで稼働させていた時期もあった。 やめてしまったのは、不正アクセスがあったかどうかを、判定するために、 大量のログを収集するのだが、ログから不正アクセスを判定するためのロジックを確立するのに時間がかかること。 適切なログ収集ができなくて、不十分なログを大量に収集しても、労力に対する効果が期待できないからでした。
余計な話、現在ARM-Linuxが使えず、さらに苦しい状況。20年前のx86パソコンを稼働させる計画。


2月23日 ルータ故障の復旧作業中

親の部屋のルータの調子が悪い。故障かもしれない。 しかし、頭痛もあるが、首筋、背中の筋肉痛で耐えきれず、倒れた。ルータの故障の復旧作業がはかどらない。
僕が足止めを喰らっている間にも、世界は動いている。DellがRSAを売却したようです。 日本を売却した利益で日本で偉くなるという方法があるのかもしれない。 足止めされているのをどうにかしないと。


2月21日 シミュレーション環境の自作1CD Linux(2)

昨日の1CD LinuxはGUIが動作しなかったのですが、やっとGUIが動作する1CD Linuxが完成。 TinyCoreLinuxのツールでビルドしただけだから、配布とか、できるのかな。 バージョン4.5.2の日本語版をOSDNが ここで配布しているみたい。 作ったTinyCoreLinuxのバージョンは最新のもので11.0。全く日本語化していないですが約90MBのISO。 gcc9.2.0(compiletc)、perl5、verilog10.3を追加しただけ。 compiletcは、コンパイル環境のメタパッケージ。 verilogはTinyCoreLinuxのパッケージにはないので、自分で追加。


2月20日 シミュレーション環境の自作1CD Linux

大人の事情でARM-Linuxマシン5台を失った。 そこでIntel x86マシンの稼働率を上げるためシミュレーション環境の1CD Linuxを作りました。 1CD Linuxで有名だったのはドイツのKNOPIXで産総研の人が産総研版を作っていたようです。 今回はTinyCoreLinuxを使って自作しました。自作1CD Linux。 isoファイルが90MB程度で、ほぼメモリだけで動作するため、快適に動作します。 gcc、perl5、verilogとGUIのXwindowが入って90MB。TinyCoreLinux良くて来ているのかも。
USBメモリ版は、完全に動作するのですが、1CD Linux版は、まだGUIが動いていない。 それでも8bit CPU ICF3-Zで公開している乱数系のテストプログラムは動作します。
1CD Linuxのメリットは、ネットワークケーブルとHDDの電源ケーブルを抜くと、 開発中の回路が外部に漏洩しにくい。 HDDの電源はフロントパネルのスイッチでON/OFFできるので、1台のパソコンを効率的に運用できる点かも。


2月18日 サイバー攻撃の巧妙なやり口

親が部屋のネットワークの不調を何度も訴えてくる。 調べてみるとサイバー攻撃の可能性が考えられた。そして、その巧妙な手口に驚愕した。 数年前、母親のiPadを偽装した不正アクセスの証拠をしっかり、つかむことに成功した。 証拠についてネット上で説明すると反響があった。 今回も母親のiPadを偽装した不正アクセスのように見えるところからスタートする。 ここからは前回と違い想像が入るので話半分で読んで欲しい。 父親が、数年前、どうしてもソフトバンクの「この」アクセスポイントが欲しいと言うので購入した。 数年前のことなので(ARM買収で有名な)ソフトバンクのアクセスポイントが自宅のネットワークに 接続していることなど、すっかり忘れていた。母親のiPadが何故か、 ソフトバンクのアクセスポイントに接続が切り替わる。そしてソフトバンクの アクセスポイントを経由して自宅のネットワークに接続して、 ネットワークの状態を不安定にする活動をしていたように見えている。 しかしiPadからの通信であるかのように見せかけてソフトバンクのアクセスポイントが 勝手に不正アクセスしていたのかもしれない。
これを見た僕が、ソフトバンクによる不正アクセスと判断すれば、大騒ぎとなり、 見事にサイバー攻撃による妨害活動に成功する。
ソフトバンクのアクセスポイントが接続していることを知る何者かが、 ネットワークの不調を起こして、僕に調べるように、しむけたというように思える。
ソフトバンクのアクセスポイントが自宅のネットワークに接続していることを 注意したかった、という可能性もある。
少し考えさせられました。


2月17日 再び頭痛

無事帰宅しました。頭痛と、頭がボーっとしているため、作業を完全に休んでいます。 結局、1日、何もできなかった。


2月16日 作業再開

ようやく作業ができる程度に体調が回復しました。 頭痛については、続いてあるようですが。 SnakeCube(SSLアクセラレータ)を開発していきます。
SnakeCubeはタイムスタンプのサーバでも役に立つと思います。
世間話になりますが、昨年、nCipherを米エントラスト・データカードが買収したとか。 目的は公開鍵暗号のハードウェアの買収。
僕1人を買収する提案は、僕のところに、こなかったなぁと。ちょっと思いました(笑)
僕の暗号プロセッサ(SnakeCube)はCPUの支援なく暗号演算が可能なので、こういったハードを安価に作れるのです。


2月16日 nVIDIA JetsonのCPUはARM

Jetsonを使うと問題を起こすと言われた。 ここ数週間、ARM-Linuxに費やされた時間が無駄になる。 17,490円(ケース込み)のJetsonが無駄になるのかと思うと、気が重い。
これからJetsonを含めたARM Linuxを倉庫に入れて封印します。 写真は今回、封印されるJetsonを含めた5台。 上の2台はRaspberry Pi Zero、一昨年、シリアルの通信テストに使ったもの。 下の1台は、太陽光発電によるシミュレーションで使おうとしたもの。 下の写真の右のクリアケースに入っているのはRaspberry Pi B+。

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


2月15日 頭痛で、まだ作業できません(4)

2月15日 2:30AM 目が覚めました。まだ気分が優れません。 二日酔いの胃もたれくらいだが頭痛も並行してあるため、まだ眠っていることが多い。 鼻から抜ける匂いがきつい、胃袋で何か、まだ増殖が続いているのか、ちょっと心配。 再び、吐き気がしてきた。
2月15日 6:20AM 胃袋の中で腐ったものの匂いが鼻から抜ける。 気持ち悪い。
2月15日 11:27AM 眠い。 ご心配いただいた人もあるかと思って、無理に起きて、書いてます。取り急ぎ眠いです。 寝ます。
2月15日 11:38AM 早く作業を進めたい、、、今は寝ます。 2月15日 1:00PM 昼食で起こされました。頭痛がなくなり楽になりましたが、また寝ます。
2月15日 6:00PM 夕食で起こされました。ずっと寝ていました。 ここまで頭痛がなくなったのは数か月ぶりではないだろうか。 失明の前兆は直ってないが。胃のほうは今のところ、沈静化しているが、発病からこれまで何度か再発しているので、 まだちょっと完治なのかは、わからない。
2月15日 10:30PM やっと目が覚めました。夕食後、風呂に入って、また寝ていました。


2月14日 SnakeCubeが遅れることの問題

こちらも長年の経験がある。 8bit CPUICF3-Zのほうは問題となる点を、かなり減らしている状況だ。 僕は日本の将来にとっていいと思っています。 (意地の悪い奴らは、まずそこを潰すところからやってくるかもしれないですが) 単純にも、若い人がやることなくなったら困るとか、あると思います。
そしてSnakeCubeの発明は大きい。 タイムスタンプによって知財は、僕が押さえているため、 遅延されると日本にとっての損失も大きい。それを知ってほしい。 年末年始、日本の特許を調べたところでは、実際に実装するまでもなくSnakeCubeが優れている。 世界の研究を、いくつか調べても、公開鍵暗号の鍵が大きい場合の効率はSnakeCubeが優れていると思われる。 FPGAでも効率よく実装できるため開発費が小さいく商業だけで成り立つ。


2月14日 頭痛で、まだ作業できません(3)

2月14日 7:00PM 目が覚めました。まだ気分が優れません。 気になるのは、今朝3:40AMごろ、ハンバーグに突き刺した、箸を、 たった1回なめただけの箸についた液体の匂いが、ほとんど残っている。
また寝ます。
2月14日 7:30PM  こういったときの対応法は、なんなんだろう。米酢を2ccくらい飲んでみた。
2月14日 7:50PM  胸がむかむかする。また米酢を2ccくらい飲んでみた。
2月14日 9:05PM この時間では病院は空いていない。 近所の薬局に行くも8:00PM閉店で間に合わなかった。
寝ます。


2月14日 タイムスタンプを使って証拠を残す話

「普通の人には、タイムスタンプを使って、どうして証拠を残せるのか、 わからないみたい」との意見が。 孤立無援の状況にして証拠を残せないようにして消せると思った人があった模様。 僕にタイムスタンプを発行した企業を抑え、証明業務をしないようにすれば、 証拠隠滅に成功すると。
タイムスタンプサーバの証明書が手に入る状況であれば、 数学により、人を介することなく、証拠を残せます。 証明書の失効情報をルート証明書までさかのぼって入手する必要がありますが、 タイムスタンプサーバのWebサイトにある場合がほとんどです。
その手順は、今日の日記「10年前からタイムスタンプサーバを使っている」 に書かれています。このケースではAdobe Acrobatが将来、バージョンアップによって、 過去のタイムスタンプの検証機能を削除する可能性がゼロではありませんが、Adobeサイトから過去バージョンを ダウンロードすれば、多分、大丈夫と思います。
opensslを使った方法もあって、オープンソースなので、これを妨害することは困難と思われます。
これで僕を包囲しても、突破してしまうので、撤退したほうがいいと考えられるはず。
頑張ってプロジェクトを推進していきましょう。


2月14日 頭痛で、まだ作業できません(2)

2月14日 2:15PM 目が覚めましたが、まだ気分が優れず、吐き気が加わりました。 また寝ます。あとどのくらいで、元に戻るのだろうか。


2月14日 頭痛で、まだ作業できません

頭痛で、まだ寝ていたい状況なのですが、作業が滞っているのは、 かなり問題があるのです。それを理解していただいているのか心配です。


2月14日 10年前からタイムスタンプサーバを使っている

先日、タイムスタンプサーバ(RFC3161)を使った知財戦略を覚えたことを言いました。 産業スパイに不正アクセスされ企業秘密のファイルを盗み出され、 僕よりも先に、タイムスタンプを押された可能性を考えた人があったようです。 ご心配なく。 今回は国が認定している方法でタイムスタンプをしたというだけです。 そしてタイムスタンプを使う方法は僕は10年以上前から使っています。 その証拠のPDFファイルは以下です。PDFのアイコンをクリックするとダウンロードできます。

このPDFはルート証明書を正しくAdobe Acrobat Readerに設定しないと署名者の証明書は 検証できませんが、タイムスタンプのほうは検証できます。 最新版のAdobe Acrobat Redaer DCで確認しました。 国が認定した業者で昔、無償でサービスしていたタイムスタンプを使っています。 AMANO Time Stamp Service Type-Free-ARootCA証明書 (ad84 9ba7 a49b d85b ef13 d6da aba9 3afc 9afa cc8d)をAcrobat Readerの「信頼済みの証明書」に入れて、 信頼性を編集して「この証明書を信頼済みのルートとして使用」にすれば、時刻を検証して、存在の証明ができます。
PDFの内容はnVIDIAのGPU、CUDAを使ったAES暗号の性能値と、そのソフトのハッシュ値が記載されていますが、 意味はそれほどなく、証拠を残す方法を試してみるためという目的のものです。
これで、ご安心できましたでしょうか。
余談になります。
署名者の証明書は日本認証サービス株式会社(JCSI)という会社が発行した電子証明書です。 日立、富士通、NECが設立した会社です。現在では、会社は、なくなっているようですが。 大手メーカーに勤務していころ、僕が1週間に1度、仕事で行った会社で、 この会社が発行する政府の電子申請に使う証明書の販売員っぽいことをやってました。 上から「証明書の売り上げ目標のグラフを書いてくれ」と言われて、すかさず目標ではなく必要経費から必要な売り上げのグラフを書いて提出した記憶があります。


2月14日 冷たいハンバーグ定食

昨夜、気分が悪く早く寝た。2月14日 3:40AM、 目が覚めて駅前の松屋に行ってハンバーグ定食の大盛を注文。 ハンバーグ定食を置くときに定員が何か、一言いったようだった。 ブラウンソースが妙な色だったのでハンバーグに箸をつきさし、 そこについた液体を舐めると、なんと冷蔵庫に入れていたものを、 温めずに出してきた感じの温度だった。
明らかに嫌がらせ行為だ。
一口も食べずに、黙って店を出た。
一昨日の夜の話になりますが駅前のCoCo壱番に行った。伝票番号00565。 この後、眠りに入って数時間後、腹痛とともに目が覚め、 トイレで叫びながら下から吐きだすと数分で痛みが止まった。 その後、体調不調が続き、半眠りの状態が続いて、ほとんど作業はできていない。
現在も、まだ頭が辛い状態で、まだ作業ができない予想。
SnakeCubeを急ぐことは大切だと思っています。


2月12日 8bit CPUやはり重要です。やりましょう。

2月6日の日記でプロジェクトの推進を停滞させるべきか? を書いてみたのですが、あまり反応は、ありません。 ICF3-Z は並みの8bit CPUではなくRISC-Vでは手の届かないところに手が届く オープンソースです。小さいCPUは家電など様々なところで使われています。 オープンソースがあったほうがいいと考える人もあると思います。 そういうことならICF3-Zが優れていていいと思います。 制限の緩いApache License 2.0のオープンソースなので、 税金などの重たい要素を持たない人は、 ぜひ参加してICF3-Zを成長させて世界中で使われるCPUとなることを目指しましょう。
参考ブログ「オープンソースのCPUの除算性能 RISC-V vs ICF3-Z」
ここ数日の作業はICF3-Zの知財が自分にあることを主張できるようにするため経済産業省が 管轄する独立行政法人のシステムを利用してICF3-Zの知財の存在を証明する登録をしました。
つまり、ICF3-Zの知財が僕以外の誰かに移るかもしれないという心配をなくし、 スムーズにプロジェクトを展開できるようになりました。
独立行政法人以外のタイムスタンプ(RFC3161)も、2つほど使って、強固に守備固めをしました。 もう少し守備を固めさせてもらうと、僕は左利きなので左手に箸を持ちますが、右で字を書きます。 右手に箸を持っていれば、それは僕ではありません。

余談になりますが、まだ僕が某大手メーカーにいた頃の話です。 2001年ごろ、政府認証基盤の仕事を、いきなりすることになり、いきなり総務省の窓口役になりました。 総務省の課長と行政情報研の人が、僕のいる認証局(神奈川県)に訪問したときに、 課長が、お叱りになったのです。 総務省には連絡が届いていなかったようで、他からの情報を得たみたいなことが問題だったと思います。
何の気なしに、会議室の隅っこで聞いていたのですが、この打合せに参加した中で、 本社で一番、偉いの僕だったらしく、僕が怒られていることを、後で言われて大笑いしたの思い出したという。 それだけです。


2月8日 モバイルバッテリーが壊れた

ソーラーパネル付きの24000mhAのモバイルバッテリーの出力電圧が 4.5~5.0Vの間を変動する。2019年版のまだ新しいモバイルバッテリーだ。 火災保険会社(代理)による防災システムが モバイルバッテリーを破壊したのかもしれない。 火災に対しては僕も、最大限注意をしている。 熱を持つ金属への接着は耐熱性に優れるテープを使うとか。 モバイルバッテリーは、自室のドア付近に置かれているため、 高い頻度で目視確認しているし、焦げればすぐにわかる。 基板への給電方法によっては、ヒューズがついていない場合がある。 ただ12Vから5Vに変換するコンバータにはヒューズはついている。 試しに定格を超える電流を流すと正確に作動しているのを確認した。 安全については考えているつもりだが、昨年(2019年)9月の千葉・山倉水上 メガソーラー発電所の火災が発生していることもあり、火災の種は、 発見次第、潰してしまいたいということはあるのか。
代理によってシステムが過剰に作動することは、気に留めておいてもいいかも。


2月6日 8bit CPUの推進を停滞させるべきか?

8bit CPU ICF3-Zですが、 プロジェクトの推進を停滞させるべきか?考えています。
ことの発端は、1月31日の日記にある 太陽光発電によるシミュレーションシステムでARMのLinuxボードを使ったことでした。 「ARMと競合するCPU開発にARM Linuxを使うのは、おかしいだろ」との意見があり、 そこからARM問題に発展しました。意見については、その通りだと思っています。 ただ気休めのシミュレーションしかしないつもりだったので、それほど開発に寄与せず、 太陽光発電使って地球環境問題を考えたいとの思いからARM Linuxを使っても いいだろうと考えていました。
参考までの話、ARMのLinuxボードがなくても、AMDのRyzen5のマシンや10年以上前の Core i7マシンが、あまり使われていない状態で、待機しているので、 これらのマシンで一気にシミュレーションしてしまえば、CPU開発に影響が全く出ません。
ARM問題は、僕だけの問題ではありません。みなさんの理解が必要なのだと思っています。
僕のほうは8bit CPUが停滞すれば、SnakeCube (SSLアクセラレータ)の仕事が進むだけなので、問題はありません。
ただこの8bit CPUの技術については、半永久的に残ると思えるほど優れていると思っています。 どちらかというと、そのために重要なSnakeCubeを遅らせてまで、努力してきたのです。 8bit CPUが成功すれば、僕が有名になることになるので、僕も努力は必要なのだとは思っていますけど。


2月5日 8bit CPU、Ubuntu、FreeBSDで動作確認完了

8bit CPU ICF3-ZはCentOS7で開発しています。 UbuntuやFreeBSDなど、OSが違うとPerlの動作が若干違うようです。 Perlスクリプトを修正してUbuntuやFreeBSDでも動作するようにしました。


2月4日 8bit CPUのオープンソースの動作環境

8bit CPU ICF3-Zで公開されたソースが Cent OS以外のOSでは動作しないことがあるのでUbuntuやFreeBSDの動作環境を整備しているところです。
頭痛が続いて辛い。脳破壊が進めば重要技術であるSSLアクセラレータが滞ることになるだけなのです。


1月31日 太陽光発電によるシミュレーションシステム

災害用のモバイルバッテリーを使って小型のコンピュータを太陽光発電で 動作させるシステムを作った。これでverilogシミュレーションの電気代が節約できそう。
頭痛で辛い。頭痛作動装置を使うような大人には、ならないように。


1月30日 SSLアクセラレータつきSSDコントローラどうだろう

公開鍵の鍵長を、とても長くすることになったとしたら、 モバイルなどのCPUの性能が低い端末では、厳しくなることはあるかもしれない。
SSDとかM.2にSSLアクセラレータを搭載すれば1スロットで済む。
18年前、日立、東芝、松下が開発したICチップ搭載のSDカードを思い出します。MOPASSと呼ばれていたやつです。
僕はMOPASSカードのデバイスドライバの試作を仕事でしていた。 MOPASSの試作カードのI/Fの構造上の問題でICチップの命令とSDカードの命令の混在ができない。 そこで、それぞれの命令を排他制御するドライバが必要になり、試作をすることになった。
この排他制御をフィルタドライバを使って試作をすることを日立のシステム開発研究所に薦められた。 結局、フィルタドライバでは排他制御をすることは出来ても、 OS側の管理がICカードとSDカードの2つのドライバがあるものだと勘違いするため 電源関係などの操作が2重に行われるなど製品レベルのものには、ならなかった。 当時のシステム研究所の所長に、使ってもらえる程度には、動作したのですが。
カードリーダはルネサス(RENESAS)が開発したもので、試作のときは、 アプリケーションとカードリーダーの通信を暗号化する仕様でした。 製品版ではMOPASSカードとアプリケーションの通信が暗号化されているため、暗号化はしていないかも。
僕が、ルネサスのドライバ(DLL)を逆アセンブルして暗号化のアルゴリズムを解読して、 排他制御のフィルタドライバで使った話は、システム開発研究所では有名かもしれない。
SSLアクセラレータつきSSDコントローラも、視野に入れることが可能なのかもと。


1月29日 USBメモリ2個が壊れた

どちらのUSBメモリも購入して数年経過している。書き込み回数も、それほど多くはない。 しかし同時に壊れた。IoTデバイスのUSBが壊れて5Vを超えた電圧が出力されていないか、確認をしたが、問題はなかった。 たまたま同時に壊れたのだろうか。写真の下にあるUSBメモリはメーカー名が経年劣化で消えているがKINGMAX。


1月28日 nVIDIA JetsonのRSA性能(CPUのみ)

nVIDIA Jetson nano(ARM Cotex-A57 1.43GHz、GPU CUDAコア 128個)を購入した。 XilinxのFPGAを使ったSSLアクセラレータSnakeCube を開発中なのですが、nVIDIA JetsonがSSLアクセラレータになるのか、将来、検討するために購入。
このブログ 「モンゴメリ乗算の累積加算における分割加算の証明」 のアルゴリズムはGPUでも実装できる。ただ、どのくらいの性能になるか、わからない。 JetsonはOpenCLに対応していないみたいでCUDAによるプログラミングになる。 CUDAのプログラミングも何度か、経験があるので、JetsonのCUDAプログラミングを始めれば数か月以内には、 詳細な検討結果を出せると思うが、XilinxのFPGAを急ぎたい。
とりあえずCPUだけのRSA性能を測定して以前の記事に追加しました。
RSA 8192bitの性能を測定するソースコード

秋葉原にあるOLIOSPECの通販店で売られているスチール製ケースに入れた写真。 上面にねじ止めしたダサい金具はスチール製ケースも冷却に使おうとして付けました。 (一応、このケース、MicroSDスロットは穴は開いていますが取り出しには対応してないので注意)


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


1月27日 回路設計者はディスコンを気にしている

FPGAのメリットにディスコン(EOL)対策があります。8bit CPU ICF3-Z はトランジスタ数を少なくすることに特化しているためSRAMより論理ゲートが高価なFPGAに向いています。 ディスコン対策を考えたICF3-Zも、あるのかも。 実際、やってみたことはないので確実性のある話ではないですけれど。


1月27日 ICF3-Zを実用性のあるCPUにするために

日本で汎用のCPUを新規に作って最後までいける可能性があるのはICF3だけだと思っています。 僕が独自に設計したアーキテクチャなので海外の模倣扱いで潰されることはなく、 32bit CPUではできない領域を持っているからです。 乗除算一体型のALUと疑似パイプラインによって非常に少ないトランジスタ数で高性能がでます。 僕が大学時代の研究室は並列コンパイラなのでCPUの実装について知識を得ることはなく、 会社に入ってからもCPU撤退が始まっていたので、CPUの知識を得ることはありませんでした。 なのでICF3(1999年)は、 僕がステートマシンを知らずに作ったアーキテクチャです。 これが独自な高性能アーキテクチャ、8bit CPU ICF3-Zになって登場したという状況。
税金などの重たい成分がないため、国内の人が受け入れやすいのです。
ステートマシンについてのエピソードを話してみます。 1999年の開発現場は、基本的に勉強する時間など一切なく、仕事をしています。 AND、ORの設計図など、全く教科書を見なくても、読むことはできるからです。 このとき現場にあった設計図はデータ転送系のLSIのもので、 ステートマシンを知らなくても、仕事ができました。 ICF3(1999年)の暗号プロセッサの設計者は僕でしたがSHA-1、Multi2、DES演算器は別の設計者です。 SHA-1の原案は僕が自宅で作ったものなので、関連会社の人が設計者になっています。 ICF3(1999年)開発後、世界一になったICF3の設計者たちが、次の開発について、 社内の会議に出たときのことです。 議論のなかSHA-1の設計者が、ステートマシンを知らないことを露呈してしまった。 しかし僕とリーダー(東大卒)は、その場をしのぐことができたのです。 僕も、この時、ステートマシンは知らなかったのです。 頭のいい設計者なら、教科書を読んで体系的に説明されたステートマシンを知らなくても、 感覚的にステートマシンを知っている。
要するに頭のいい人が設計したほうがいい、ということが言いたかった。
ちなみにICF3(1999年)の暗号プロセッサは割込みは必要なくて、 8bit CPU ICF3-Zに改修したときに割込みを実装しています。 いろいろ考えたのですが、割り込み時、CPU内のすべての状態を保存して、 割込みから復帰するところで、復元すれば、 間違いないということを思いついて、ICF3-Z Zeviosに実装しました。

国内の人の受け入れやすさを優先したため、 ICF3-Zを使った開発を、したいという人がいなくなったように思います。
そこで考えているのは、コンパイラ、OS、仮想マシンの成果が、やった人に付けば、 好きな人は、やってもいいと思うのではないかということです。 自分のウェブサイトで公開してスキルをアピールすることができます。 それを皆が応援すれば、ICF3-Zが成功すると思います。

税金を使わない方針なので、コンパイラ、OS、仮想マシンが実際に使える範囲は、 ホビーなどの用途に限られてしまうと思います。 税金を使わずに産業で使えるようなものも、別途考えていく必要はあるのかもと思っています。
僕はCPUのハードの成果を守ります。アセンブラは簡単に作れるので僕ができると思います。 アセンブラがあれば、FPGAに実装するソフトプロセッサ(SoftCPU)として実用になります。 FPGAはSRAMより論理ゲートが高価なのでICF3-Zは有利です。 実際に役立つこともあると思います。ICF3-ZがASICのマイコンになることもあるでしょう。
このICF3-Zの計画を成功されば産業に貢献するように思っています。
次の僕のnoteに投稿した記事が参考になると思います。
「8bit CPUのオープンソース ICF3-Z」

後は無駄話です
僕が中学生の頃は8bitパソコンが全盛期でした。BASICマガジンにJR-100(Panasonic)用の ICBMを撃墜するゲームが掲載されていたので、それをSHARP MZ-2000用に移植して、 BASICマガジンに投稿しました。中学生だったので、あまりできのいいものではなく、 没になってます。
Z80のマシン語に興味を持って遊んでいましたが、高校生になって勉強が忙しくなりMZ-2000を封印しました。 しかし何故か、父親がクリスマスの日に、僕が地元の電気店でSHARPのポケコンで遊んでいると、 そのポケコンを買ってやると言い出して、買ってもらったのです。 PC-1251です。MZ-2000は封印され、家族のいる部屋に置かれていたので、触ることができなかったのですが、 ポケコンは勉強しているふりをしながら、マシン語で遊ぶことができました。 CASIOはBASICのみでしたが、SHARPのポケコンはマシン語を触れたのです。 PC-1251は8bit CPUでRAM 4.2KBですが、月刊I/Oにコンパイラが投稿されていたので、 それを熱心に読みふけっていたのを覚えています。
もし大学に入ってコンピュータサークルに入っていれば、コンパイラを自作して 投稿していただろうと思っています。 僕の経験からすれば、ICF3-Zの計画は、無謀ではないと思っています。 そういう人を応援もせず、潰してしまうことがなければ。


1月27日 自作CPU研究会に入ってみた

第1回 自作CPUもくもく会には 慶應大学の天野先生がいらっしゃって、ご講演されるとか。 僕の方は8bit CPU ICF3-Zよりも SSLアクセラレータが忙しく参加できないと思いますが、 10分発表して名刺を配ることをしてもいいなぁとは思いました。


1月26日 8bit CPU ICF3-ZでOSは動作しそうか

ICF3-ZのZeviosのプログラムアドレスの指定には命令コードの下位16bitを使っています。 1ワードは4バイトなので256KBのプログラムメモリの空間をアクセスできます。
ICF3-ZでOSを動作させることを、あまり考えていないのですが、 動作するなら動作したほうがいいと思っています。 256KBのプログラムメモリではOSが十分に入らないかもしれないと考えています。 Zeviosのプログラムアドレスを18bitにするのは簡単にできます。 分岐命令のアドレス指定に命令コードの下位18bitを割り当てるだけです。 データメモリのアドレッシングモードの領域とコンフリクトしますが、問題ありません。 間接分岐は3FFFF番地に分岐した場合に処理されるようなハードを追加するだけです。
18bitアドレスでは1024KBバイトのプログラムメモリを使えますが SRAMで1024KBは厳しいかもしれません。 ここからは、あまり自信はない話になります。 遅いメモリで動作するZeviosの別実装も考えたのですが、 Zeviosの割込みは任意のタイミングで入れることが可能です。 つまり、SRAMキャッシュ上にないアドレスを出力した瞬間に判定して割込みを入れます。 そして割込み処理内でI/O命令を使ってフラッシュメモリからSRAMに読み出します。 キャッシュ制御を割込みで実装。すると1024KBのフラッシュメモリにOSを入れられるのかもと。


1月25日 Chromium OSをビルドしています

現在、量子コンピュータの進歩により暗号解読のリスクを考える必要が出てきました。 僕の発明した高効率な暗号プロセッサが、とても役に立たつ状況です。 その暗号プロセッサを搭載したSSLアクセラレータを急いて開発して、僕の発明がすごいということを証明したいのです。
なのに何故、Chromium OSをビルドしているのか、不信に思う人がいるらしく、説明が必要なのだと感じました。
ここに書けない説明になるので、厳密には正しい説明になっていませんが、 頭痛で作業ができなくなっています。頭痛でもChromium OSをビルドするくらいはできるので。
頭痛制御の精度は、普通の人の常識をはるかに超えるものという感じです。非破壊制御ではないです。


1月24日 SnakeCube(ICF3-F)の進捗

日記では8bit CPU(ICF3-Z)の話が多くなっていてSSLアクセラレータのSnakeCube(ICF3-F)の進捗が 気になった人もあるかと思ったので書きます。

1月9日にSnakeCubeのサイトを立ち上げていますが、本日、サイトの色を黄緑から水色に変更しました。
https://openicf3.idletime.tokyo/snakecube/

頭痛が続いていてSnakeCubeの作業時間が、あまりとれていないのが現状ですが、 これから増えていく予想。マイクロコード用のアセンブラの開発中です。


1月23日 ICF3-Zの割込みについて

8bit CPU ICF3-Zの割込みは除算をやっている途中でも 1サイクル間隔で割込みは入ります。圧縮命令の実行中でも1サイクル間隔で割込みは入ります。 DISABLE命令で割込み禁止にしない限り、毎サイクル割込みが入る仕組みになっています。 割込み処理の中で、演算レジスタA,B,C,Dを使っている場合、使っている演算レジスタを 汎用レジスタかスクラッチパッドに退避させ、割込を終了するところで復帰させます。 割込みもZeviosに実装済みです。
ICF3-Zの汎用レジスタは8bit×16本の2バンクです。 他社のマイコンでは4バンクあるようです。 アプリのスレッド3バンク、割込みで1バンクみたいな使い方をしたら、どうするんだみたいな、うわさが。
ICF3-Z Zeviosコアでは2バンクを4バンクや16バンクに改造することは、とても簡単にできます。
4バンクにしなかった理由は、なるべくトランジスタ数を少なくしたかったからです。 4バンク以上のZeviosコアも考えてもいいのかもしれません。
割込み中は汎用レジスタを全く使わずに、スクラッチパッドだけで処理をすることも考えられます。 4バンクのZeviosコアとか種類を増やすとコスト増に繋がりそうなので。 ICF3-Zのアーキテクチャはスクラッチパッドでも汎用レジスタと比較して、あまり性能は落ちません。


1月23日 ICF3-Zが特許侵害していないか(3)

昨日の日記にあるIntel特許。侵害であるかどうかの判定基準をエミュレーションか否か の状態を保持する記憶装置の有無と考えたことを言いました。 特許の判定基準が、どうなのかというは、僕では、難しいのかもしれないですが、もう少し考えます。
命令コードの全フィールドをユーザー定義できる命令セットを考えると、 エミュレーションの状態を保持する記憶装置がなくてもエミュレーションできる。 前日の判定基準ではパスしてしまう。
インテルの特許第5984865号 「命令エミュレーションプロセッサ、方法、およびシステム」を読んでもらえば、 わかるのですが、恐らくこの特許は、エミュレーションできることを特許にしているのではなくて、 通常命令と命令をエミュレーションするハードを持っていて、命令をエミュレーションする 場合には、エミュレーションハードを使って高速に処理できることを特許にしている。
命令コードの全フィールドをユーザー定義できる命令セットを実行するハードウェアは、 通常命令か、エミュレーションなのか、わからなければ、高速に処理することは難しい。 エミュレーションか否かの情報があれば、高速にエミュレーションできるように思います。 しかし、前日の判定基準ではNGとなるのです。


1月23日 ICF3-Zが特許侵害していないか(2)

ICF3-Zが前日のIntel特許以外に特許侵害していなかについて。 年末年始、特許を調べていました。保証できませんが、恐らく問題ないように思います。 基本的にICF3-Zは、非常に少ないトランジスタ数で構成されるため、 特許になりそうな部分があまりないのです。
ただ、何としても、ICF3-Zを潰すそうと考える人達は、無理に攻撃してくる可能性はあります。
それとICF3-Zは、他のCPUと比較して特長あるCPUなので、模倣判定が容易です。 命令セットアーキテクチャを見れば、すぐにわかります。そのあたりも気を付けてください。


1月22日 ICF3-Zの元なったアーキテクチャは何か

CPUに詳しい人にとってICF3-Zが独自なものであることは一目瞭然なのですが、 普通の人にとっては、何が元になっているのか、知りたいということはあると思ったので書きます。
元になったものはありません。僕が考えたものです。
既存のアーキテクチャと似ていないことを2017年に本を買って調べて確認しました。
「ディジタル回路設計とコンピュータアーキテクチャ 第2版」
著者
David Money Harris ハーベイ・マッド大学教授、スタンフォード大学電気工学科で博士、IntelでItaniumとPentium IIプロセッサの設計
翻訳
天野英晴 慶応義塾大学教授、慶応大学電気工学で博士
鈴木貢 島根大学准教授、博士(工学)
中條拓伯 東京農工大学准教授、博士(工学)
永松礼夫 神奈川大学教授、博士(工学)


1月22日 ICF3-Zが特許侵害していないか

ICF3-Zの公式サイトでICF3-Zの圧縮命令が Intel特許侵害をしていない説明 をしています。その補足になります。 エミュレーションか否かの状態を保持する記憶装置の有無が特許侵害の判定基準と考えています。 エミュレーションか否かでハードウェアが動作を変更するという特許なのだと思われますが、 ICF3-Zは、そもそもエミュレーションという状態が存在しないという説明です。
ICF3-Zを良く思わない人たちによって、この話が煽られているのかもしれないと思って補足してみました。


1月21日 ICF3-Zの仮想マシンについて

QuickJS という仮想マシンで動作するJavaScritpのエンジンを見つけました。 中は見ていないので、ICF3-Zの仮想マシンで動くのか、 全く調べていません。小型のスタックマシンであるように読めています。

というわけでICF3-Zの仮想マシンについて説明してみたいと思います。
ICF3-Zにはユーザーが定義できる16bit長の命令があります。これまで圧縮命令と読んできたものです。 この圧縮命令を利用することで仮想マシンになるのかもと考えています。 圧縮命令は公開したZeviosコアに実装されています。 圧縮命令を仮想マシンとして利用するための注意点があるので説明します。
32bit長の命令コードと16bit長の命令コードの混在は可能ですが、 32bit長の命令に2つの16bit長の圧縮命令を入れることしかできません。 16bit長の命令コードが続いているなかで奇数番目の命令コードへの分岐はできません。 しかし分岐先が16bit長でも32bit長のどちらでも問題ありません。
圧縮命令で分岐命令を実装するにはPOPSP命令を使います。 圧縮命令はサブルーチンで実装されているためスタックをクリアする必要があるからです。 32bitの前半のコードか、後半のコードかを記録しているビットもあるので、それもクリアします。
圧縮命令でCALL命令のようなサブルーチンコール命令を作った場合、32bitの後半のコードに配置しないといけません。 コンパイラでそういうコードを生成する必要があります。 圧縮命令は通常のCALL命令と同じ仕組みでスタック上にリターンアドレスを格納しています。 したがってサブルーチンコール命令の実装は、普通に分岐命令を使うだけでできます。
圧縮命令であるか、否かを、判定するビットが命令コードの最上位bitにあるので、 実質、仮想マシンの命令コードは、15bit長になります。 そして7bitのオペコード+8bitのオペランドという形式のみなので、 既存の仮想マシンを移植することは困難であるように思います。 ICF3-Z用の仮想マシンを作ることになると考えています。
ICF3-Zで動作する自分の仮想マシンの仕様を開発して、いろいろな言語を移植したり、 ICF3-Z以外のマシンでも動作させるのも、いいのかもと思います。 ICF3-Zで動作する仮想マシンの仕様であれば、他のマシンでほぼ確実に動作する仮想マシンになるでしょう。
仮想マシンの応用編
あまり本気にする必要はありませんが、面白いかもと思って書いています。
ICF3-Zのプログラムメモリは32bit単位でアクセスされますが、これを8bitの命令コードとして扱うような 仮想マシンを作れば、Z80のようなレガシーなCPUのエミュレーションも、できるのかもしれません。 プログラムメモリが4倍必要になりますが、32bitを1バイトにした、バイト単位のアドレスに分岐できます。 前半の16bitにZ80のプログラムコードを入れて、後半は空の圧縮命令に分岐してもいいのですが、 空では、もったいないのでLCDやキーボード入力などの制御をさせれば、ちょっといいかも、とか。


1月20日 ICF3-Zの性能評価

今月15日に除算命令のサンプルコードを公開しました。 それをテンプレートに性能を評価する人も、あるのかもと思っています。 ICF3-Zのアーキテクチャは普通のCPUではないので、慣れた人がアセンブラでプログラムを 書かないと十分な性能を出せないと思っています。
ちなみに32bit÷16bitの除算のサンプルコードですが、 A,B,Cの8bitレジスタを連結させて1サイクルで1bit左シフトできる機能を使っています。 3レジスタ同時に左シフトすることもできるのですが、実際のコードは、A,B,Cに値をセットしてA,Bだけ先に左シフト。 後からCを左シフトします。このときに除算の結果、1bitを最下位ビットに取り込みます。 Cレジスタを同時に左シフトしてしまうと除算結果を取り込めないので、Cレジスタの左シフトは敢て遅延させています。 8回繰り返した後にはCレジスタには8bitの除算結果が入っているというような感じです。


1月16日 除算性能 ICF3-Z vs RISC-V

実際に比較しないと、わからない人が多いと思いましたので、小型のRISC-VコアであるlowRISCのibexと比較してみました。 ICF3-ZのZeviosは8bit CPUですが、lowRISCのibexは除算器を持った32bit CPUです。
lowRISCのWebページにXilinxのローエンドのFPGA(7シリーズ)に実装した場合の周波数が50MHzと書かれてありました。 そして除算は37サイクルで動作と書かれています。
Zeviosは同じくXilinxのローエンドのFPGA(Artix-7)に実装した場合、周波数は150MHzになります。つまり3倍の周波数で動作。 0除算などのチェックや演算レジスタへのロード、ストアの補正として3~6サイクル追加しています。

除算

ibex
RISC-V
[サイクル]

Zevios
ICF3-Z
[サイクル]

ibexを1とした
倍率

周波数を考慮した
倍率

16bit÷8bit

37

20

1.85

5.55

24bit÷8bit
条件付き

37

21

1.76

5.29

32bit÷8bit

37

55

0.67

2.02

32bit÷16bit

37

約350

0.11

0.32

ZeviosはXilinxのFPGA XC7A35TICSG324-1Lです。

ibexは2500LUTの面積ですが、Zeviosは400LUTの面積です。 外部I/OなどZeviosに不足しているものがあるかもしれませんが5分の一の面積で5倍以上の性能が出ることは、考えるべき点ではないでしょうか


1月15日 ICF3-Z、Apache Licenseで公開開始

8bit CPU ICF3-Zが正式に、Apache Licenseとして運用が開始されました。 32bit÷16bitの除算のサンプルコードがgithubに追加され、 ダウンロードしてverilogでシミュレーション可能です。
ブログ「8bit CPU ICF3-ZのZeviosの除算性能のメモ」も参考になると思います。


1月12日 ICF3-Zのスクラッチパッド256バイトについて

1月10のブログ「8bit CPU AVRとICF3-Zとの違い」で 『ICF3-Zでは(a) レジスタ読出しに1サイクル使えるので大きなレジスタファイルを使うことができます。』 と書いたのですが、そこに疑問を感じた人があったようです。
確かにデバイスに依存するところがあるのですが、 おおよそクリティカルパスは8bit加算のキャリーがあるALU演算になることを考えていました。 例えば(a)(b)(c)を逐次実行する場合で、かつ1サイクルの割合は(a)25% (b)50% (c)25% になると考えます。 (a)(b)(c)を並列実行すると(b)がクリティカルパスになって周波数は2倍になります。 そして(a)のレジスタ読出しに使える時間は、逐次実行の2倍になるため、大きなレジスタファイルやRAMが使える。


1月11日 ATmega328の除算性能を測定

メジャーな8bit CPU AVRの一つであるATmega328の除算性能を実測してブログにした。 こちら↓
8bit CPU ATmega328の除算性能を測定してみた
AVRに除算命令はないのでArduino UNO R3で使われているソフトウェア除算の性能を測ったということになる。 ICF3-Zは16bit÷8bitで20倍高速。24bit÷8bitでは50倍高速という予測 (ICF3-Zは同じ半導体素子ならAVRの2倍の周波数が出せるため)

Arduinoの開発環境、便利ですね。Arduinoに3ドル寄付しました。


1月10日 ICF3-Fの作業が進まない

頭痛だと半日とか、長くても1週間くらいで、痛みが止む。 このところの問題は目が霞んでいることが長期化して、元に戻らなくなっていないか。 パソコンをやっていると、気づかないうちに画面に顔を近づけていて、 背骨が筋肉痛になって姿勢を保つのが厳しくなっている。
最近は、ほとんどなくなったことだが、食事をとったあと、強制的に眠らされるとどうなるか、ご存知だろうか。 それほど痛くはないが、腹痛とともに、食べたものがあまり消化されずに、排出される。 数えていないが、これまで数百回は行われている。
監視を休みたくなったら、眠らせていたのかもしれないが、本格的に体調を壊されると 問題になると感じるようになったのか、ここのところ食事の後に眠らせることは、 ほとんどなくなった。
この状況でも体調が崩れるリスクを抱えながら1日3時間くらいは、ICF3-Fが進むのかもしれない。 しかし、それでは、例えば1年で完成するものが3年以上かかる。 どうにか、ならないのか、考えている。


1月9日 ICF3-Fを別サイトに分離

8bit CPUのICF3-Zのほうは、随分前に別サイトに分離していましたが、ICF3-Zを Apache License 2.0として正式運用を開始すると、ICF3-ZとICF3-Fの区別がつかず、 間違えることもあるかと思い、ICF3-FをSnakeCubeと命名して別サイトに分離しました。
こちらです↓
https://openicf3.idletime.tokyo/snakecube/


1月9日 ICF3-F再開

頭痛が続いている。倒れるまで頭痛になることはないかもしれないが、 頭が悪い状態ではICF3-Fがうまく完成しない。 頭痛でICF3-Fを手放すことがあれば、それを受ける先が、頭痛関係者として疑われ、うまくいかないはずです。 ICF3-Fを手放す前に僕の脳が破裂していると思いますけど。 頭痛が続く将来を予想して欲しいのです。
僕は頭痛を認めていません。僕のようなケースでは非人道的だと考えています。


1月7日 頭痛がひどくなった

痛い。寝ます。


1月5日 ICF3(1999年)が良く売れた理由

パナソニック半導体事業売却による軍事技術の流出の話題を考えていたら、 ICF3(1999年)が良く売れた理由が、わかった。推定なので正しいのか、わかりませんが。 米国では2000年まで暗号技術の輸出規制が厳しかったのです。 IBMの大型コンピュータの暗号装置も規制で世界へ販売できなかったか、あるいは、 思うように販売できなかったのでしょう。 日立のIBM互換機なら、米国からの輸出ではなく日本からの輸出なので、規制の対象にならなかった。 そして東大卒がいっぱいいる部署で開発しているIBM互換機のCPUは安心のIBM製。 暗号装置はIBMの仕様をもとに僕が開発したので、規制の問題を回避できた。
ちなみに英語で書かれた モンゴメリ乗算のアルゴリズムの本をもとに ゼロから僕が製品化したもので、1回目(RSA暗号)で完成度の高い製品になったのは、日立の技術というより、僕の才能と幸運によるもの。 (天の声ではなく)
会社は、いっぱい儲かったのに、どうしてと、思う。


1月5日 ICF3は軍事技術の漏洩にならないか?

パナソニック半導体事業売却で軍事技術が中国へ流出する問題が話題になり、 「国を守れ!」と歓声が上がっているところもあるようです。 暗号プロセッサのオープンソースハードOpenICF3の 差し押さえを考えた人もあると思います。
公開鍵暗号はCPUやGPUでも効率的に演算できます。 GPUの価格性能比は非常に優れているので暗号プロセッサを抑えたところで あまり影響しないと思います。
差し押さえることより、わが国の技術力を見せることに役立てたほうがいいと思います。 現在ではFPGAがあるため、大学生のお小遣い程度で技術的には開発できる状況にあります。 差し押さえると、他国に抜かれて、この国が劣勢になる問題のほうが大きい。
ちなみにSSLアクセラレータのICF3-Fはクローズドです。 Apache License 2.0で公開予定のICF3-Zは8bit CPUで、しかも暗号演算器をはずしたものです。


1月5日 除算命令で低消費電力に!?

国内のマイコンメーカーでも乗除算命令がないマイコンのみしか扱っていないところがある。 32bitのARM Cotex-M0+が最上位マイコン。32bitなのですが除算命令がないため除算1回で数百サイクルかかります。 ICF3-Zは8bitですが16bit÷8bit(条件付きで24bit÷8bit)が17サイクルで演算できるため 除算命令のないマイコンよりも10倍高速。
マイコン製品で、どういった処理が多いのかは、わかっていないのですが、 例えばセンサーの入力値を乗算して除算するループがメインの仕事である場合、 1ループに必要なサイクル数が半分になることはあるように思います。
つまり、半分の周波数で動作する。しかも8bitだから恐らく同じ周波数でも32bitより低消費電力。
ICF3-Zによる低消費電力技術になるのかも
除算命令のある廉価な32bit マイコンでも34サイクルだから16bit÷8bitで足りるなら、 より低い周波数で動作させられる可能性があり、低消費電力になることはあるような気がします。


1月4日 ICF3-Z特許侵害調査(2)

ほとんど問題ないと思っているのですが、まだ特許侵害調査をしています。 特許を見ているとデバッグ関係の特許が多く申請されているようです。 気を付けたほうがいいなと思いました。
頭痛が止まらない。 いろいろ問題を起こして回復はしても全部は回復しているとは限らない。脳神経が壊れていく感じ。


1月2日 ICF3-Z特許侵害調査

8bit CPU ICF3-Zの特許侵害調査をしています。 詳しくはこちら
筋肉痛で動けなくなることはあるが、今日は筋肉痛にはなっていない。 しかしUSBメモリ(東芝製)のキャップを取ることができないくらい手の筋肉が動かない。 頭の中も恐らく同じ。CPUで例えるならレジスタ数が1個未満という状況で、頻繁に苦痛を強いられる。
そういえば、僕って、かつて開発で最も稼いだ大手電機メーカーの社員だったんですけど。


1月1日 将来ハイエンドのスマホで使われないだろうか

SSLアクセラレータとしてICF3-Fを進めているが、 公開鍵暗号の鍵長を長くする必要がでてきた場合、 ハイエンドのスマホでICF3-Fが使われるかもしれない。公開鍵暗号には、署名と検証の2つの演算がある。 スマホでは、多くの場合は検証で、時々、署名をするという使い方が一般的だと思う。 RSA暗号について言えば、Microsoftの特許を使うと検証処理をかなり軽減できる。 署名にかかる時間が長くなっても、あまり気にならない処理が多いという前提を考える。 例えば、銀行振り込みのような処理で5秒くらいかかっても、それほど気にならない。 ハイエンドのスマホならICF3-Fを使って0.2秒みたいな。
ICF3-Fを搭載するとチップ面積が大きくなるのですが、3次元積層技術が進み、ICF3-Fのチップを 重ねることができるのではないかと思います。 3次元積層技術に詳しくはないが、恐らく放熱が問題になる。 しかし、署名はたまにしか使わない。ICF3-Fでの署名中は、CPUの稼働率を必要最低限にすれば、 放熱の問題も起きない。


暗号プロセッサ OpenICF3