Home
2024年
2023年
2022年
2021年
2020年

5月31日 僕のSnakeCubeの発明に貢献した所は無い

SnakeCubeの判断材料に。
暗号プロセッサSnakeCube は僕1人の発明ですが、貢献したところはあるのか?その答えを、この日記に書きます。

電子物理やアナログや開発環境などの間接的な貢献は、ここでは考えません。 SnakeCubeはデジタルな論理ゲートのみで構成された発明です。 ざっくり言えば数学とAND/ORの組合せのみでできています。

ICF3(1999年)の暗号プロセッサでは、 開発部にモンゴメリ乗算が研究所から持ち込まれ、1カ月以内に製品化できるかを 検討するように上から言われました。 期限が迫ったところで、基数2のモンゴメリ乗算なら作れるかもしれないということと、 まだ十分で無いから、今回は見送りましょうということを僕は提案しましたが、 上が基数2でやるという決定をした。検討期間が短かったこともありますが、 ICF3が僕1人の設計だったと言うには、僅かにモンゴメリ乗算器(基数2)にケチが付いていた。 2005年に日立製作所を退職するときに正式な打合せで、ICF3(1999年)を持ち出すことに 成功したので、問題になることは無いのですが。

2016年にICF3(1999年)をインターネット上で公開、2018年に僕はSnakeCubeを発明しますが、 ICF3(1999年)でケチのついた基数2のモンゴメリ乗算器を新しい乗算器に全部交換したため、 SnakeCubeは、完全に僕1人の設計になっています。

2002年に政府認証基盤GPKIを仕事でやる頃には僕はハード開発から完全にはずされ、 退職後も日立関係のハードのエンジニア、研究者とは全く連絡を取っていない。 また勝手に出入りをする産業スパイからSnakeCubeに関係する知識を注入されたことも無い。 ICF1(1997年)を開発する前に米国に3カ月、出張していますが、 IBM互換の暗号チップの開発をするように言われたのは帰国の前日あたり。 IBMや早稲田大学の人がいれば、がっかりするかもしれないですが、IBMや早稲田大学の影響も無い。

RSA暗号や楕円曲線暗号の研究論文ではRNSを使ったものが、かなりの数あったかと 思いますがSnakeCubeはRNSではありません。Carry Save Adderの延長線上にあるものです。 そして無限にビット長を伸ばしても周波数(ほぼ効率)が低下しない技術の発明。

SnakeCubeの発明に貢献したところは、どこもありません。 もし貢献したという人があれば、僕のところにご連絡ください。 影で勝手に言う人があっても、僕に言っていない限り、真実では無いと思われます。

僕以外にSnakeCubeの利権を持つ人は無く、僕の足を引っ張れる人もいません。 そして世界のインフラの安全のためSnakeCubeが必要だと思います。また国防的なこともあるので。 少なくとも未来の日本人が日本人であることに誇りを持ちたいのならSnakeCubeを開発すべきだと思う。


5月28日 Interface 2023年7月号の「ゼロから作るOS」

Interface 2023年7月号の表紙からは、わからないけどリアルタイムOSの特集でした。
割込みでタスクを切替えるときにレジスタ退避のオーバーヘッドが発生する。マルチコアなら、このオーバーヘッドを減らせる。 2コアで1コアの2倍以上の性能もありえる。

7月号はCPU、ARM Cortex-M0+の解説がある。2コアがクロスバーでRAMに接続される。 2コアでアクセスが競合するとウェイトが発生することを意味するのだと思うけど、 これは応答性の保証や動作のリアルタイムを考える上で、十分過ぎるマージンの確保が要求されるということではないだろうか。
開発が止まっている僕の16bit CPU WZeta2は2コアでアクセスしてもウェイトが発生しない実装が作れる。 このため、かなり低い性能でも要求仕様を満たせることが、そこそこある。

この新しい省資源CPUは、とても良さそう。
開発を妨害する産業スパイに連日、頭を痛めています。 産業スパイ対策の支援を!
Interface 2023年7月号の目次

WZeta2はパイプラインアーキテクチャではないため1コアの性能が低い。
しかしメモリウェイトのマージンを確保しなくていいメリットのほうが恐らく大きい。
余談ですが7月号のトップページにはTRON OS 坂村 健氏のコラムがあります。 僕は税金の重荷が気になるほうなのですけど。
TRON OS(Wikiへのリンク)


5月23日 IBM、2033年までに10万量子ビットのマシンを開発とか

IBM記事(2023年5月22日)
「10万量子ビットへの道筋を作る」

この10万量子ビットの量子コンピュータで何ビットのRSA暗号が解読できるのだろうか? というのが多くの人の関心事だと思う。

僕が大学に入学した1988年の頃は量子力学の世界を知りたいと思っていたけど、 その後、僕にその面白さを伝えてくれる人がなかったので僕の知識欲は計算機の 並列処理の方向に向かった。なので量子コンピュータについて専門家のように説明することはできない。

それでも、ある程度の知識の範囲で言えることを言えば10万量子ビットを構成する 複数の量子プロセッサの量子ビット数は気になる。例えば単一の量子プロセッサの量子ビットの ビット数以上のRSA暗号の解読は不能かもしれない。単一で1万ビット以上が困難であれば、 当面1万6千ビットでも安全???

要するに巨大AIマシンによる解読なども考えると新しい耐量子暗号を取り込んだ次世代SnakeCubeは、 世界にないと、かなり困ることが起こる可能性がある。 念のために言えばRSA暗号の計算量は鍵長とともに非常に膨大になるので SnakeCubeをベースに 新しい耐量子暗号を取り込むことが良いと言えるのではないだろうか。 またSnakeCubeは巨大整数の四則演算が高速なので、巨大整数を使う新しい公開鍵暗号が発明されれば、 そのほうが低コストになる可能性もある。

RSA暗号で非常に大きな鍵長が最も有利になるケース。例えば16万ビット
格子暗号のような耐量子暗号をSnakeCubeに取り込み耐量子暗号を使うケース
巨大整数の四則演算を使う新しい公開鍵暗号を使うケース

署名だけでも世界のインフラ崩壊の危機を免れるため、 SnakeCubeを開発したほうが、いいのかもしれない。

一昨日のG7広島サミットには世界の半導体企業の首脳も来日しているし、 岸田総理に直接メールをしてみたけど、返事は返ってくるだろうか。


5月21日 暗号プロセッサSnakeCubeの価値は下がっていない

最後まで読んでください。
暗号プロセッサSnakeCubeは、 従来研究の10倍高速と言えるほどの高性能な暗号プロセッサですがRSA暗号に特化しているため、 SnakeCubeの価値が下がったと思う人はあるかもしれない。 SnakeCubeは巨大整数の四則演算が高速なので巨大整数を使う新しい公開鍵暗号で必要とされます。 当面は、巨大整数を使う新しい公開鍵暗号は発明されないかもしれませんが、 将来、巨大整数を使う公開鍵暗号のほうが最もコストが安くなることはあるかもしれない。 もしそうなれば世界最古の巨大整数の四則演算器 ICF3(1999年)の流れを持っているSnakeCubeは、歴史上、重要なアーキテクチャと思われます。

AIと一言でいっても様々あるのかもしれませんが、AIマシンは 普通の整数演算を同時に多数できるものが多い。 このため超巨大AIマシンが暗号解読に使われたとしても、 巨大整数を使う公開鍵暗号は解読されにくかもしれない。(調べていないので間違っているかも)

SnakeCubeのアーキテクチャは廉価なAMD/XilinxのFPGAに実装しても非常に効率が高いので、 量子コンピュータに耐性のある新しい公開鍵暗号をAMD/XilinxのFPGAで実装できるような アーキテクチャは、SnakeCubeと共通化したものを、開発しやすい。 SnakeCubeのアーキテクチャではRSAの鍵長に比例した多数のDSP演算器を使うため、結果的に 世界最強の強度が出せる暗号ハードになる。 量子コンピュータの思わぬ進歩で世界が困ったとき日本のSnakeCubeが世界の危機を救えるかもしれない。


5月21日 父親が手術入院から本日、退院

先月、父親が緊急入院して、極めて危険な手術をすることになり、僕もパニックに陥れられていました。 おかげでG7が広島で行われること、世界の半導体企業の首脳が日本に集まっていることに気づくことができなかった。

この手術でわかったこと。両親が高齢(80歳)になっている。 その両親より僕が衰弱しているため、両親に生活の世話をしてもらっているということ。 僕は自動車の運転ができなくなって久しい。自動車に乗れる父親が家族の灯油を購入しているなど。 産業スパイによるサイバー攻撃で僕は頭や体が痛い時間が長くベッドに倒れている時間が多い。 このため生活に必要な雑用をする時間がないので母親がやっている。洗濯は自分でしているけど。

もう一つ。若いころ世界の銀行で使われるような暗号装置を開発したため友人が少なくなってしまって、 信用できる人がいないことが、わりと大きな問題になっている。

僕は脳と体は衰弱しているけど、怒りが僕の精神を支えている。 暗号プロセッサSnakeCubeも、ゼロ遅延マルチコア(省資源CPU)マイコンも、 この国や世界のために役立つと思うので、頑張っていこうと思う。 僕がこれ以上、被弾しないようによろしくお願いいたします。


5月21日 ポラード・ロー法で僕はIBM暗号装置を突破したの?

何度もしている僕の過去(2000年頃)の功績の話。IBM暗号装置から秘密鍵を抜き取る方法を発見したのだけど、 公開鍵暗号を解読して突破したわけではない。

Windows XPの認証システムは完全に突破されていてオフラインでアクティベート可能

記事の内容については、僕はわからないけど記事にあった「ポラード・ロー素因数分解法」の Wikiの説明を見て、僕が2000年頃にIBM暗号装置から秘密鍵を抜き取った方法は、 ポラード・ロー素因数分解法だと思う人があったかも。

いいえ。ポラード・ロー素因数分解法ではありません。僕が一瞬で閃いた方法。

現場の開発作業員が数学を勉強する時間が与えられることは無い。 何故なら、それでは研究者が困るから。 椅子に座るだけの長時間残業をしてる開発現場員も多い。 僕も現場で一番、長時間残業をさせられていた。

ICF3(1999年)の開発後、経営層から、日立の互換機も、日立の暗号装置から IBMの暗号装置に切替えたいという要望があった。ところがIBM暗号装置では 秘密鍵をバックアップできないという問題が見つかった。 秘密鍵をバックアップできてしまうと、別の暗号装置にリストアして、 暗号化されたデータが復号化されてしまうので、その方法をIBMが互換機メーカの 日立に、教えてくれるはずもなかった。IBMの暗号装置の顧客を危険に晒すことになるからだ。

日立では、かなり困ったことになったらしく、僕のところにも相談があった。 日立では先行してアイディアを考えていた。 組込みソフトウェアで乱数生成器を止めてしまう方法だったが、今一つだったようだ。 乱数生成器を使う機能が使えなくなるという議論は聞こえてこなかったが、 IBMがバージョンアップするたびに組込みソフトに改造を入れたことによる副作用を 検証するコストが膨大になることが問題視された。

僕に相談されても、秘密鍵を抜き取られないように作られた暗号装置から、 秘密鍵を抜き取れと言われても、そう簡単な話ではない。

ふと気づいたのはRSA暗号の公開鍵のような値を暗号装置にセットすること。 ここに秘密鍵を抜き取れる性質を持った特殊な値をセットしておけば、 乱数生成器を止めることなく、秘密鍵をバックアップできる方法を閃いた。 乱数生成器の乱数によって確率50%で秘密鍵をバックアップできる。 この操作を秘密鍵がバックアップできるまで行えば、いい。

極めて極秘な仕事だったので、記録を残すこともなかったので、あまり詳細な説明はできないのですが、 数学の才能が実際の事業に大きく貢献できたことを後世に伝えるための話になればと思っています。


5月19日 無料のICカードエミュレータmyuTokenがWin11で動作

電子証明書を使ったアプリを開発するのに便利なWindowsのフリーウェアです。 しばらく放置していましたがWin11(22H2)で動作することが確認されました。 動作検証用のPCでの利用を推奨。USBメモリをICカードにするのではなくて、ソフトウェアによる ICカード(SiMyuCard)を使うと便利です。セキュリティは全く無いのでICカードアプリの 動作検証でしか使えません。

Windowsのカーネルモードのデバイスドライバによって厳密にICカードをエミュレートするので、 昔は人気のソフトウェアでした。 電子証明書はRSA 2048bit(1024bit)しか利用できませんがマイナンバーカードも、まだRSA 2048bitなので 鍵を大きくできる準備をしていれば、まだいけるかも。量子コンピュータのRSA解読リスクについては、ご注意を。

●myuToken
https://icanal.idletime.tokyo/myutoken/

●SiMyuCard
https://icanal.idletime.tokyo/SiMyuCard/


5月16日 マイナカードのスマホに暗号プロセッサSnakeCube

急浮上、スマホに暗号プロセッサSnakeCube を搭載してマイナカードをより安全に。スマホ搭載版のSnakeCubeを開発すれば、 マイナカードを使っている、この国のシステムがより安全になる。 鍵長の非常に長いRSA暗号(や楕円曲線暗号)の電子証明書にシステムが対応すれば、 ハイエンドスマホでは、より高い安全を確保できるということです。
具体的なシステムを見ていないので、不明ですが、恐らくマイナンバーカードの鍵長はRSA 2048bitのままでも、 新しい電子証明書をスマホ内に発行するときだけ使えば良いため普段は新しく発行した鍵長の大きい電子証明書を使える。 現在のシステムがどうなっているのか、わかりませんが、スマホの性能に応じて鍵長の大きな電子証明書を 発行すればいい。

スマホ用の暗号プロセッサSnakeCubeを開発しておけば良かった、、、
今からでも遅くないかも。国内のメーカーでどこかありませんか?

ITメディア記事 2023年5月12日
マイナカードをAndroidスマホに入れてみた 何が便利で何ができる? iPhone対応は?

参考までに言えば、政府の、この方法は僕のパクリ。 デジタル庁や、総務省は、僕に冷たすぎ。
この方式は僕が昔、パソコン版でやっていたMyNumSignと同じです。 ビジネス特許でもとっておけば、僕は儲けることができたのかな。 ICチップの重大な欠点を対策する方法として、僕がマイナンバーカードの 劣化コピーをパソコン版でやっていた。検証側のソースコードを公開していたこともあって、 マストドンの認証向けに、斡旋していたこともあるよ。(だから覚えている人も、たくさんいると思うけど)

5月17日 0:05AM追記
非常に大きな鍵長のRSA以外が、すべて一定以上の解読リスクとなった場合は、どうするの? その時がきたら?と思うならSnakeCubeを!と思っています。 よろしくお願いいたします。
RSAの高速化については僕が世界的な権威で、世界的な問題なので、脅かすようで恐縮なのですが、 暗号資産のマイニングの正体がパスワードクラッカーであったことを考えるなら、 AIが公開鍵の暗号解読マシンかもしれないというリスクを調べてみる必要があるかもと。


参考URL
暗号資産Monacoinの掲示板みたいなサイト、僕の書込み
https://askmona.org/4893

ツクログ Webサイトの紹介サイト
https://tsukulog.work/service/item2593.html

スラド記事 2017年3月31日
マイナンバーの情報をスマホに転送して本人確認に利用する機能、iOSもサポートへ


5月14日 ん、なんで千歳工場なの?

この日記は、早稲田関係の人が主です。 千歳工場には、もう一つの理由があるから。
僕は1994年に日立製作所、中央研究所、超高速プロセッサ部に修士卒の 新人として配属され、1995年に神奈川県の秦野市にある大型コンピュータ事業部に転勤になった。 そこでIBMの先端半導体デバイスのアナログ電子回路シミュレーションをした。

このとき僕に付けられたと思われる産業スパイが、現在も、いろいろ悪さをしている。 先月、千歳工場に追加で国費が投じられることが決定されました。 僕に迷惑をかける産業スパイに千歳工場へ転勤していただける絶好のチャンスが到来しているのです。

早稲田のみなさま、この機会をお見逃しなく、と思っていますが、 まだ金が足りないという産業スパイがいたので、僕が千歳工場を 手伝えることができればと思ったから。

僕からは言いにくいのですが、千歳工場のデメリットもあるので考えるべきかと。 僕は僕が助かることが第一なので。

厳密なことを言えば、生まれたときから付いていた産業スパイもあると思われますけど。


5月13日 ワンチップ16bitパソコンを千歳工場で???

良さそうな?アイディアを思いついた。
昨日の日記でゲーム、教育向け16bitパソコンを作れないか書きました。
早稲田大学の社会学連携課へ「早稲田大学応援基金」の寄付金を納めてみた。 これから役立つ省資源CPUのオープンソースの立ち上げのためゲーム、教育向け16bitパソコンの 開発をすることで

早稲田大学と 千歳工場をお引き合わせ、することができなかと思いついた。 千歳工場による最先端半導体のテストを兼ねれば、非常に良さそうな気がした。 16bitパソコンのメインメモリをSRAMで構成して1チップにするから最先端半導体を使える。

ざっくりパソコン教室に千歳工場で生産されたワンチップ16bitパソコンを置いて、 授業に使う。授業がない時間には連続動作テストで、動作検証をするというもの。

連続動作テストの電気はソーラーパネルで賄えば天気の悪い日は連続動作テストをしなくて良い。

参考まで、僕が独立電源のソーラー発電システムを作ったときの記録を残したサイト https://deadloop.icf3.net/smpp/

僕が千歳工場を知っているわけではないけど暗号プロセッサ SnakeCubeの利権を持つ、 僕を無視はできないだろう。 また僕は30年近く前に、同じくIBMの先端半導体を使った経験がある。 言ってみれば僕は千歳工場の新しい人たちの先輩かも?

千歳工場で生産が始まるのは、まだまだ先なので、 やるとするなら、16bitパソコンWZ-660はAMD/XilinxのFPGAで先に作るのかも。 次の画像は試作した8bitパソコンでゲームのデモらしきものが動いている画像。


5月12日 1983年の8bitパソコンの教育利用と今後

今から40年前の1983年、中学生のための塾で8bitパソコンを使った教育が 実際に運営されていました。その時の話と現在の教育向けパソコンを 16bit CPUにすれば製造原価、100分の一になって、 しかも地球環境対策にならないだろうか?という話。

僕が中学生のころ大阪府池田市に住んでいました。 大阪大学の周辺地域なので学習塾の先生は阪大卒の人が多かったのですが、 その人が阪大卒であったのか、忘れましたが中学の数学を教えながら、 8bitパソコンを使った教育をしていた人がいました。
8bitパソコンを使った教育を僕は実際に受けたわけではありませんが、 教室の窓から見えるSHARPの8bit機 MZ-2000をしっかり眺めていました。 MZ-2000は自宅で使っているものと同じなので、パソコン教室のチラシに かかれていた文面を見れば、教室でどのくらいのことをしていたのか、 わかります。
中学生の子供にとってグリーンディスプレイは、ちょっと面白味が足りないという印象。 高価なパソコンが活かせるほどの内容にならなかったのか 1年くらいで塾のパソコン教室が消滅しました。

現在ではパソコンを利用した教育は様々、考えられています。 教育用では一般のパソコンの使用は必須でななくて、もっと安価なもので良いのです。 IchgoJamのようなBASICが中心の子供向けパソコンはありますが、 もう少しスペックを上げてオープンソースの16bit CPU WZeta2にします。 教育用パソコンを使って世界にWZeta2を普及させることが目的です。

16bit CPU WZeta2はオープンソースで省資源に重点を置いています。 これからの時代、省資源は重要です。 16bit以下のCPUをWZeta2に集約し地球環境対策を加速、CPU毎に発生する 開発コストを減らすことで世界に役立つものとなる。 かなり独自なアーキテクチャなので日本の文化圏を構築できることも 我が国にあっては重要なことと言えます。

無理無理に一言で言えば、WZeta2は僕が技術的にいろいろ熱く語れるものを持っている。

この日記でゼロ遅延マルチコアについて語っていますが、 ゼロ遅延マルチコアのアイディアがいいのではなくて、 WZeta2で実際に実用性のある実装が作れることが重要なのです。 実は、僕は早稲田大学の元副総長の笠原先生の研究室に学部4年から修士2年までの3年間いました。 笠原先生が博士号を取得したと言われているCP/MISFというアルゴリズムはCPUコア間の通信遅延がゼロである 前提ですが、実際にはゼロにすることは困難なのでCP/MISFを改良する研究を僕はしていました。 時は流れ1人でもCPUを作れるようになりました。偶然、CPUコア間の通信遅延ゼロの CPUを作れることに気づいたのです。低遅延とゼロ遅延の違いは、ゼロ遅延では、 笠原先生のCP/MISFが理論通りの結果を得られること。

最近の状況もあまり変化していないと思うのですが計算機アーキテクチャ教育における 早稲田と慶応の違いは、慶応は、よりハードウェアよりという点だと思います。 慶応のほうが強い。 早稲田は、よりハード非依存なので全学部で応援できることが強味です。

僕の目的はオープンソースのWZeta2を開発できる環境の確保と ゲームパソコンを作って儲けることですが、それを教育向けパソコンの販売に繋げれば、 全学部で推進が可能になるのではと思っています。 技術的に詳しくない人は、僕を除いても、どうにかなることを考えるかもしれません。 僕がここにくるまでに、僕を登用しなければ、ならないようになっているとお考えください。


後書きですが重要なのでお読みいただければと
先月、父親(80歳)が緊急入院しました。極めて危険な手術をするらしく、 どうせお金が足りなくなって、周囲に薦められたのだろう と思われるので、手術を回避できるのなら回避すべきだと思うので お金を作る方法を考えた。非常にクリーンに お金を作ることができる計画案になった。

ICF3 ピアパーク展示計画案

非常に素晴らしい計画案であるにもかかわらず父親の賛同は得られなかった。

恐らく原因は僕が早稲田が排出した不良人間であることが問題。 不良人間を世間に晒すことが問題になっているのだと思う。
既に僕はネット上でも有名なので不良人間の問題を解決したほうが得という 説得を産業スパイにすることが重要なので、よろしくお願いいたします。

僕が半殺しにされた状態であるために
日立はICF3(1999年) を重要文化財として儲けることができない。
父親の回避できる手術が回避できず無駄に大ダメージを被る。
早稲田も非常に優れた教育ネタになるオープンソースの 16bit CPU WZeta2の立ち上げに貢献できない。

僕が不良人間のままだと、早稲田の受験者数が減って損害になる かもしれない状況です。僕が不良人間になりやすかった理由を説明します。
僕は1988年に早稲田大学理工学部に入学しました。 同時に弟は大阪府で一番の北野高校に入学しているので 弟が京都大学に合格できる予想を無理にして埼玉県地区の稲門会が、 僕を不良判定した可能性が高い。

早稲田にも少しは責任があるように思います。 力を貸していただいて不良人間の問題を回復させれば、 受験者数が増え、若者に真に明るい未来を提供できるように考えています。

人の命を削るのが得意な人が増えすぎているような気がします。 人の命を削る方法は安定していますが、今回のように見込みがあるケースでは、 人の命を削る方法を最優先にすべきではないと僕は思っています。


5月13日追記
1988年に僕が早稲田に合格したときに父親は勝手に「ザ・ワセダ」という本を購入(寄付と同じ)。 僕は理系なので読むことはなかったけど、卒業生の就職先が書かれた数冊の本だった。 僕が卒業する1994年は、バブル末期で理系は就職に困るという概念すらなかった。 要するに父親は、手を打っていた。


5月8日 日記をいくつか削除しました

この日記ですが公開鍵暗号のハードやCPU開発(ゼロ遅延マルチコア)の話など、 技術的には良い内容があるのですが、お見苦しい日記も書いています。
本日、いくつかの日記を削除しました。


5月7日 WZeta2開発中断のお知らせ

16bit CPU WZeta2のオープンソース化を頑張ってきましたが、 力尽きた感じであります。

復旧の見通しは立っていません。気が向けばやることはあるかもしれません。
教訓。月並みな言い方ですが、応援がなければプロジェクトは頓挫する。


5月6日 WZeta2開発進捗

進捗状況のみ。WZeta2の設計図を書いています。 前作WZetaは3月19日に乗算命令を追加したA4版の設計図、 3枚を公開しています。
WZeta2ではA,B,Cのレジスタがある設計図1枚が4枚になっています。 順調に進んでいます。


5月5日 WZeta2開発進捗

産業スパイがスタンドアロンの開発機をサイバー攻撃した模様。 仮想マシンのOSが起動しなくなった。 OSをバックアップからリストアしてアプリを再インストールした。 この開発機はスタンドアロンだがプリンタへの接続がTCP/IP。 そしてプリンタは無線LANで接続が可能なタイプ。

つまりハッカーがプリンタの内部情報に詳しければ、 プリンタ経由で仮想マシンにリモートデスクトップが可能だ。 (産業スパイは、もっと難しい方法でも潜入可能だと予測していますが)

プリンタへの接続にTCP/IPを使うのを中止してUSB接続に切替える作業をした。

開発をする人は産業スパイのお世話にならないように心がけたほうが、良いのかも。 わかっていても不便な方法を使いたくないというのが、実情だと思いますが。


5月3日 WZeta2の命令セットの更新

相変わらず産業スパイのサイバー攻撃によるスリープ魔法の連打を 浴びて良く眠らされているなどで、ほとんど作業が進んでいませんが、 SNS上で「割込」について語る人が増えたので、 多分、WZeta2の割込みのことを言いたいのだろうと、思ったので、 日記に書きます。

どうも「割込不可命令」を割込み禁止状態でないと使えない命令だと 解釈した人があったのかもしれません。割込み状態に無関係に使えます。 割込不可命令は、その命令だけ割込信号を受け付けないという意味です。
命令セットのPDFは、まだまだ作業中のα版ですが、誤記を修正して更新しました。
全面的に改訂することもあるのでご注意を。 WZeta2SDogCore20230503.pdf


日記よりフォーラムみたいなコミュニティサイトを作ったほうが、 良いと思うのですが、実は1年半前にWZetaのフォーラムを 作ったのですが1年前にサイバー攻撃で撃沈されました。

フォーラムは、非常に美しいのですが、サイバー攻撃されると、 管理コストが急増するので、復活できていません。

一応、SNS misskey.io のチャネルに雑談ができるものを作っています。
WZeta討論
https://misskey.io/channels/8swgfo0wzy


5月1日 オープンアーキテクチャな省資源パソコンで儲ける案

まだWZeta2を開発している最中ですが、どうやって儲けるのか? 具体案があったほうがいいように思ったので数時間、考えてみました。 (WZeta2のオープンソースのCPUのほうは、お金による支援ではなくて、みなで僕から産業スパイを剥がすことで)

前作WZetaは8bit CPUでしたがWZeta2は16bit CPUです。 最初の実装はデータバス8bitですけれど。

8bit CPU WZetaを搭載した8bitパソコンWZ-660を開発していますが、 CPUを16bit CPUのWZeta2に差し替えます。 8bit CPUでは64KBのアドレス空間のやり繰りが大変でしたが 16bit CPUになって楽になった感じです。

GPUを使用せずにCPUでVRAMに直接アクセスする方法を採用しようとしています。 このためグラフィック画面の表示が非常に低速です。 できるゲームが限られてきますが、そのほうが他のゲーム機の人たちから 攻撃されにくい利点がある。
CPU描画では画面モードをソフトウェアで制御できる範囲が 多いのも利点のように思われます。

オープンアーキテクチャなのでいろいろな人が互換機を作って 儲かればと思いますがBIOSファームを有料にして僕は儲けようと考えています。

有料ファームではパソコンが普及しなさそうなので機能制限版を無料で ダウンロードできるようにします。

どういった機能制限にするのか、まだあまり考えていませんが、 使用できるメモリなどの制限などが考えられそうです。 128KB実装されていても16KBまでとか。

なんとなく初期のPC-98「VM21」でできるぐらいのゲームができればなぁと。

安定してくれば教育向けのパソコンとして考えられないだろうか。 生徒が同一のパソコンを持っていれば先生が操作を教える手間が小さいメリットがあるし、 地球環境対策になるし、パソコンの原価よりは、かなり高い価格にすることもできそう。

Googleにとっても小さい子供向けはChromebookより、WZeta2の16bitパソコンのほうが、 良さそうに思えるのです。Googleがやる気になるのか、わかりませんけど。


4月30日 WZeta2の機能紹介「HALFモデル」

WZeta2はWZetaの機能をすべて継承しているので、時間がある人は、 この日記を遡って読んでもらえれば、そのメリットがわかるように思います。
大きくはトランジスタ数当たりの性能を上げることに特化しているので、 地球環境対策になること、「恐らく」利用しやすいオープンソースなので、 16bit以下のCPUをWZeta2に集約できるメリットです。 ARMやRISC-Vが成功したのと同じ理由。 パリティをコード上に置ける設定が可能なことも、商用価値が高く、 不揮発メモリ屋には、興味深いもののはず。

今回、スポットを当てるのは「HALFモデル」。CPUアーキテクチャは 大きくノイマンアーキテクチャとハーバードアーキテクチャに分けられますが、 WZeta特有のメモリモデル。

WZeta2になってメモリ空間が64KB(16bit)から16MB(24bit)になったので、 JITコンパイラを実装できるかもしれない。

WZeta2のHALFモデルではプログラムメモリ16MB、データメモリ16MBですが、 データメモリ上にもプログラムコードを配置可能。(厳密には、そういった実装が可能)

ソフトウェアのバグでプログラムメモリを破壊することもなく、 データメモリ上にロードしたプログラムの実行が可能。

マイコンなどの用途ではキャッシュやアービターより、ソフトウェアが 自前で管理するほうが良いということもあるように思います。


4月29日 SNSに投稿した文章が1文字改竄されている

投稿した文章や、この日記が改竄されるリスクは常にあると思っています。

今回改竄された文章

改竄後
僕が中学生のころに友人の家で遊んだ8bitパソコンのゲーム「ポートピア連続殺人事件」 (1983年)の開発はゲームデザイナーの堀井雄二さん(早稲田大学第一文学部)だったですね。 理系でも文学部のキャンパスの講義っていくつかありましたよ。

改竄前
僕が中学生のころに友人の家で遊んだ8bitパソコンのゲーム「ポートピア連続殺人事件」 (1983年)の開発はゲームデザイナーの堀井雄二さん(早稲田大学第一文学部)だったですね。 理系でも文学部のキャンパスの講義っていくつかありましたよ。

一文字削られた改竄後の文章は、僕が堀井雄二さんを知っていることになりますが、 改竄前の文章だと僕が堀井雄二さんを初めて知ったという意味です。

数時間前、「ポートピア連続殺人事件」をネットで検索して初めて 堀井雄二さんを知ったというのが正解です。

ネット上の工作員に注意してください。


4月29日 開発中のWZeta2の命令セットのα版の公開

僕がツイッターなどのSNSでWZeta2のオープンソースの応援をお願いしますと 言ったためだと思います。
「WZeta2の命令セットをもったいぶらずに見せて」
という感じだと思ったので作業中の命令セットを、取り急ぎ公開します。
WZeta2の命令セットはオペコードの値にCPUの制御情報を埋め込むことで マイクロコードのROMを不要としています。つまり開発中に制御ハードの都合が 発生すると全面的に改訂される場合があります。
ご承知おきください。
以下からダウンロードできます。
開発中のWZeta2 命令セット

スーパースカラを導入したので前作WZetaで売り物にしていたINCX/DECX命令などの 複合命令が無くなっています。複合命令を使わなくてもスーパースカラで2命令の並列実行が可能な場合は、 並列に実行できるので。スーパースカラの実装をいかに軽量化するかなどが面白ところかも。

今回のトラブルで思ったことは殺人事件などのドラマやゲームで楽しく 役に立つ知識が得られること。

8bitパソコンのゲームに、そういったジャンルのゲームがあれば、 売り上げが伸びたりするのだろうか。

もうタイトルしか覚えていませんが中学生のとき「ポートピア連続殺人事件」とか、 友人の家で遊んでいた。

真犯人へとたどり着けるだろうか。


4月27日 英国の教材micro:bitのバージョンアップ

参考情報です。ご存知の方は読み飛ばしてください。
英国の教材micro:bit は教育向けマイコンボードです。 2017年に登場したときはCPUにARMの32bit Cortex-M0が搭載されていました。 micro:bitに採用されたCortex-M0に乗算器が搭載されていたのか、わかりませんが、 割算器がないため、非常に低速でした。参考までの話、Raspberry Pi PicoはCotex-M0ですが、 外付けの割算器が装備されています。

micro:bitは2020年にバージョンアップされv2になっています。搭載されるCPUは、 ARM Cotex-M4Fなので浮動小数点演算器まで装備しています。 つまり見た目は、非力なマイコンボードの教材に見えますが、高性能です。

一方、WZeta2は8bitの命令セットを16bitに拡張した小さいCPUです。 WZeta2による省資源化の教育は、非常に良さそうなのでWZeta2を搭載した教育向け マイコンボードは将来できるかもしれませんが、micro:bitとできることが違います。 アセンブラを使った徹底的な省資源化が可能なのが特長。 今後、各国でCPUがセンサーデバイスが多く使われることが予想されますが、 WZeta2の徹底的な省資源が、世界で必要とされるように考えます。


4月27日 WZeta2のデータバス16bitは可能なの?

WZeta2の最初のコアはデータバス8bitです。 16bitバスにできるのに8bitバスでは性能が出せずに惜しい。 16bitバスは可能なの?と思った人はあったかも。

データバス8bitの実装に最適化されたコードが、 そのまま16bitでも同様にスーパースカラ実行できる16bitバスの実装は、 作れるような気がしています。詳細まで詰めて考えていないので保証はできませんけど。


4月26日 何故、SnakeCubeを開発しないのか?

僕の人生のアウトプットに見合う、処遇が完備されるなら、 この国の窮地に、はせ参じたいと思います。 SnakeCubeの技術を盗まないように、よろしくお願いいたします。


4月25日 マルチコアによるマイコンCPUの省資源化

マルチコアによってマイコンCPUが省資源化される可能性について 考えてみましたというレベルの話です。
メインメモリのスループットが向上してもレイテンシ性能が遅いために マイコンの性能が上がらないことはあります。 キャッシュメモリをチップ内に搭載することで改善しますがマルチコアでも 改善されないだろうか。

WZeta2 SDogコアは1サイクルでメモリをアクセスしています。 メインメモリを差動回路によって性能を上げてレイテンシ性能1サイクルのまま、 スループットを4倍にした場合、SDogコアのクロックを4倍にしても、 レイテンシ性能が不足するためにSDogコアは正常動作しません。 ところが同クロックで4コアにして、順番にメモリアクセスをすると
キャッシュメモリが無くても正常動作してしまう。

トランジスタ数当たりの性能が高いCPUでは、キャッシュメモリより マルチコアのほうが、省資源化になってないだろうか?

WZeta2のマルチコア版は、いずれ開発するので、その頃には、 どの程度のメリットが出そうか、多少は、わかってくると思われます。

要するにWZeta2の開発遅延の問題が大きくなるかもしれない、と言っています。


4月24日 国産量子コンピューター初号機の大規模化

日経新聞の記事(4月24日)
国産量子コンピューター初号機 大規模集積化に照準
量子コンピュータの動向について経済的な観点だけでなく国防的な観点からも 国民は注視したほうが良いと思います。

量子コンピュータが大規模化されれば社会インフラで使われているRSA暗号や 楕円曲線暗号が崩壊する可能性があります。

対策には新しい公開鍵暗号を導入する方法もありますが、量子コンピュータに 強くても、例えばAIに弱いと、鍵長を長くしなければならない。

鍵長を長くできるハードの対応も検討しておかなければ、必要になって急いでも 間に合わないことがあると思います。

RSA暗号の高速化は数十年も前から、いくつも研究論文が出されてきましたが、 巨大な鍵長を計算できる方式では、僕の SnakeCubeが決定版のように思います。

SnakeCubeは必要性が非常に高かったはずにもかかわらず、これまで取り上げられなかった 問題を考えなければ、これまで通り、取り上げられないでしょう。

そしてSnakeCubeの発明の利権を持っているのは僕1人なので、僕が話せる環境が必要です。 新暗号とSnakeCubeのハイブリッドです。他にSnakeCubeを代替できる発明はありません。 まず僕に付いている産業スパイを僕が壊れないように剥がす必要があります。 僕が壊れなくても僕の周囲を壊す方法では、僕にも被害が及びます。
8bit CPU WZeta2も、非常に面白ものになって社会に必要であるように思います。 WZeta2も同時にやっていきます。よろしくお願いいたします。

参考
日記、3月1日  SnakeCubeをベースにした次世代ICカードは必須です


4月23日 WZeta2の開発進捗

WZeta2 SDogコアの設計図を書き始めました。 WZeta2の最初のコアの名前はWZetaと同じSDogにします。 演算系のブロックの設計図を書いていますがスーパースカラなので演算ユニットが2個、 これがうまく並列動作することを思い描きながら作業をしています。


4月22日 WZeta2の性能が良いと思える理由について

パイプラインアーキテクチャと比較してWZeta2の4サイクルアーキテクチャは、 劣勢ではないかという見方が広がってしまうといけないので、 今、思いついたことを書いてみます。
パイプラインアーキテクチャをベースとした命令セットは1命令に 1回のメモリアクセスが基本です。あるメモリにAを加算するために、 ロード命令、演算命令、ストア命令の3命令が必要です。

一方、WZeta2は1命令でロード、演算、ストアできる命令があります。 しかもオペランドを投機実行しているので高速に処理されます。
そして1命令でロード、演算、ストアする命令の利用頻度が高いため WZeta2の性能が良い。
具体的なニモニックをいくつか書いてみると

    ADD [mem],A
    SUB [mem],A
    AND [mem],A
    OR [mem],A
    XOR [mem],A
    INC [mem]
    DEC [mem]

Z80にもありそうな命令に見えますがZ80には無いようです。


4月20日 WZeta2進捗、命令セットにスーパースカラを配慮

新しく命令セットを作らなければできないことをWZeta2で やっておくことは重要だと考えています。 つまりスーパースカラの制御回路を軽量化するための仕組みを命令セットに入れる 試行錯誤をしています。

これまでに無いスーパースカラの実装になるのだろうと思います。

8bit CPUのパイプラインの無いスーパースカラだということです。 スーパースカラといえばIPCが1を越えるものを想像されるかもしれませんが、 WZeta2は1命令4サイクルなのでIPCは0.25です。 スーパースカラで2並列動作させても理論最大で0.5。 ただWZeta2はRISCの命令セットの3倍の処理量を持つものもあるので理論最大1.5。 実際はRISCのIPC換算で0.5~0.8くらい?根拠のない予測値ですけど。

スーパースカラ無しのパイプラインアーキテクチャだと遅延分岐で IPCは1を下回るから0.8~0.9程度だろうか。

スーパースカラといっておきながらスーパースカラ無しのパイプラインアーキテクチャと 同程度で、どうしてパイプラインアーキテクチャにしないのか?

割込み実装が明解になるためバグが入りにくいこと、 遅延分岐が不要であること、ゼロ遅延マルチコアを作るのが容易であること。

余談、IPC(CPI)は、日立用語ではMICEと呼んでいたみたい。 大型コンピュータ系の人たちはMICEを使っていたけど、 SHマイコンの人たちがMICEを使っていたのかは不明。 僕が日立に入ってすぐに自社の大型コンピュータのCPU開発から IBMのCPUを買う部署に転勤したから、僕も日立のCPUに詳しいということは無いのですけど。


4月19日 WZeta2進捗、スーパースカラの実装なるか!?

実装を、あれこれやっている最中。WZeta2は内部16bitの8bit CPUです。 データバスは8bitなので16bit命令を実行しながら、次の命令を実行するスーパースカラな 実装にすれば高速になる。データバスが16bitなら同時実行は必要なかった。

スーパースカラのCPUで世界を釣るのだ~~。(本当にスーパースカラになるのか、わかりませんけど)


4月19日 暗号プロセッサの性能を実際の60倍に見せる騙し方

僕の発明した暗号プロセッサSnakeCube は非常に高性能です。ところが競合他社の暗号プロセッサの性能を騙して 実際の60倍の性能に見せる話術を見かけたので、みなさん、騙されないように。
これに限らず、いろいろ騙す方法を考えている人が、僕の周りにいます。 騙す人が、自分が騙したという問題がほぼ無い方法を思いつく天才的なペテン師に注意してください。

マイナンバーカードは公開鍵暗号RSAで電子署名できるICチップが搭載されています。 RSAによる暗号化は次のような演算で計算できます。
y = m^e mod n
そして変数eの部分に秘密鍵の値を入れて演算をすると電子署名の値になるのです。 確かに電子署名の値は公開指数によって復号化できるので、暗号化であるかのように見えるのです。 このことからペテン師は電子署名は秘密鍵による暗号化だと思わせるように話します。

ネットで検索できるRSA暗号演算ハードの性能表には暗号化と復号化の性能値が表示されているので、 ペテン師に話を聞いた人は、電子署名の性能として暗号化の数字だと勘違いしてしまうのです。

暗号化と復号化では60倍、暗号化のほうが高速なので、実際の60倍の性能だと勘違いさせられます。

一方、ペテン師は間違ったことを言ったのかと言えば正しいことしか言っていない。 暗号化も復号化も同じ演算でできるからです。 ただしRSA 2048bit(CRT)では暗号化は17bit、復号化は1024bitの値を使うので
1024 ÷ 17 ≒ 60倍
演算処理が異なります。

実は騙されたという言い訳を使う人が真のペテン師なのかも。


4月17日 WZeta2進捗、アドレスバスは24bit

まだ命令セットを、ざっくり作ってみた段階なのですが、アドレスバスは 24bitにしようと思っています。従来のアドレスバス16bitではアプリが 限られましたが、24bitあれば組込み向けでは、かなり対応できるアプリが 増えるような気がしています。ただしデータバスは8bitで命令セットも 8bit CPUを延長したものなので16bit CPU並みに高速になることはありません。

しかしながら8bitバスを効率的に活かすことが可能なのでトランジスタ数当たりの 性能は高いと思われます。(省資源なわりに高性能かな)

普通のパイプラインアーキテクチャのCPUはメモリアクセスが競合すると、 競合した命令のいづれかをストールさせて競合を回避するのですが、 WZeta2のSDogコアにはストールさせる回路がありません。 ストールするようなプログラムにしないことで回路を省いています。 誤ってメモリアクセスが競合するコードをプログラマが書いても、 アセンブラが100%、エラーとして検出するのでプログラマの負担は それほど増えません。
これで、少ないトランジスタでパイプラインアーキテクチャの性能に近づきます。 まだ実装していないので、途中で方針変更を余儀なくされる可能性はありますけど。

また24bitアドレスだと16bit CPUのNEC PC9801VM21クラスのパソコンは 作れそうな気がします。当時のPC98アプリはVM21以降対応という記述ものが多く、 VM21はPC98の黄金時代を築いたマシンと言えると思います。 ただVM21にはGRCGが搭載され専用のグラフィックチップを利用できたので、 CPUの性能だけがVM21のCPU、V30に到達できてもVM21クラスのマシンにはならないのですけど。 WZeta2をデュアルコアにして1個をグラフィックチップとして使えないかとか、 考えています。

1990年頃、近所の本屋でもPC98のGRCGの解説本が売られていたほど。 参考までGRCGというのは最近、復刻されている8bitパソコンのMSXでいうと VDPに相当するもの。


4月16日 WZetaのSSLサーバー証明書の更新手続きをした

この日記は、些細なことなので、普通の人は読む必要はありません。

4月13日の日記「SSLサーバ証明書、有効期間90日化のニュース」 で利用の手間が増える話をしましたが、ちょうど本日行った WZetaのサイトのSSLサーバー 証明書の更新が、それにあたります。今回の証明書はDV証明書なので非常に簡便な手続きで 済みますが、法人向けのOV証明書で自分で秘密鍵をきちんと生成するとなると、 SSLサーバー証明書を販売する担当者と数日をかけてすることになる。

僕は2002年ごろに政府の電子申請に利用できる電子証明書の販売員 をしていたので、僕は電子証明書の知識があって、自分で更新できますが、 一般の人だと、慣れるまで苦労するのかも。

(余談ですが、このときに僕が所属していた組織の人がデジタル庁に多数、いそうな感じ。)

セキュリティを確保しながら自分で秘密鍵を作るのは、かなり手間ではないだろうか。

今回のDV証明書の更新は、産業スパイに妨害されなければ30分くらいでできたはずですが、 妨害されまくったので半日かかっています。作業中にベッドに倒れて寝たというのが 大きいですけど。


4月16日 WZeta2はパイプラインアーキテクチャなの?

まだ作業中で、どうなるかわからない状況なのですが、少なくとも パイプラインアーキテクチャにはならない。


4月15日 WZeta2にバージョンアップ、その後

まだWZeta2に乗り換えることが、できるのか、判定できるレベルに 達していないのですが、今のところは順調です。

産業スパイのサイバー攻撃は緩やかながら続いていて苦しい状況に 変化はありません。頭と体の劣化が止まっていません。

執念で開発をしていますが、執念では優れたCPUはできません。

開発中のオープンソースの8bit CPU WZetaを世界に普及できるように、 バージョンアップを進めています。 よろしくお願いいたします。


4月13日 WZeta2にバージョンアップするかも

ここ数日、WZetaのCPUコアを修正していたのですが、まだ高速化の 余地がありそうだということが見えてきました。

8bit CPUの限界まで設計してみたいという想いが先行していますが、 もう一度、命令セットを再設計してみるかも。

2年前、elchika ハードウェア作品投稿 に応募して秋葉原のお店からアイテムを貰えることになったことがキッカケでWZetaの開発に力を入れ始めました。 1カ月後には、WZetaは同じ特長を持った全く別のCPUになりましたが、今回は、そういったことはなく、 内部を16bit化するため命令セットの再設計をします。再設計といっても7、8割同じ感じだと思います。 途中で挫折したらWZeta2へのバージョンアップを諦めます。

命令処理がパイプラインアーキテクチャのように重なりますが資源コンフリクトを 動的に解決するのではなくコンパイラ、アセンブラのところで解決します。

ゼロ遅延マルチコアになるのかが、気がかりの人もあるかもしれませんが、 どうにかするしかない状況だと思っています。 再設計で半年くらい遅れるかも。僕の頭と体が元気なら2カ月は、かからなかったと思うのですけど。

8bitバスにこだわった省資源CPUなので安価なマイコンでの活躍が期待されるところ。 Xilinx FPGAのURAM 1個で動作するのでFPGA利用も便利だと思いますが。


4月13日 SSLサーバ証明書、有効期間90日化のニュース

SSLサーバ証明書の有効期間が、また短縮されるということのようです。
SSLサーバ証明書を利用する手間が増える問題が発生。 手間代が増加するならSSLサーバ証明書の鍵を長くしたほうが割安だったということのように思えます。 世界が僕の暗号プロセッサSnakeCube の導入を決めていれば有効期間短縮を数年、遅らせることができたのではと思います。 サーバのハードが信用できなくなってきたという理由もありそうですが。

日本のマイナンバーカードは、大丈夫なのでしょうか。河野大臣から連絡はありませんけど。

GMOグローバルサインカレッジ
GoogleのSSLサーバ証明書、有効期間90日化について
さくらインターネット
SSL証明書の有効期間が90日に短縮された場合の影響とは?

僕の暗号プロセッサは非常に長い鍵長の公開鍵暗号を演算する方式が優れています。 Xilinxの小型のFPGAに実装できていますから、例えばXilinxのFPGAを中間アーキテクチャとして、 量子コンピュータの解読に強い公開鍵暗号を実装すれば、両方が高速に動作する暗号プロセッサとなると思います。 この案は現時点でも有望であり、全世界の人に考えていただいたほうがいいように思います。 売れるかどうかわからないものを開発するのは非常に辛いので。


4月12日 WZeta:命令セットのニモニックを整理します

非推奨という状態で旧ニモニックも、当面使えるようにしますが、あまり期待しないでください。
ニモニックを整理する理由は、機能と名称を一致させ、覚えやすくするため

整理対象はSTAB、STABP、STZCP、STACPなどの命令。ファミコンのCPUとして有名な6502のアセンブラでは STA、STX、STYというのはレジスタA,X,Yをメモリにストアする命令なのですが WZetaではメモリ-メモリ間の転送です。紛らわしいという問題がありました。

レジスタに値を代入する命令はLD
レジスタの値をメモリに転送する命令はST
メモリ-メモリ間の転送はMOV

新規命令で16bit転送をMOVとしていましたがLD.W、ST.Wというニモニックに変更します。


4月11日 WZeta:命令セット、オペコード大変更予定

ニモニックの変更は無いので、これまで作成したアセンブラコードを 修正する必要は恐らく無いと思われます。

8bit CPU WZeta で16bitデータの操作性を向上するためMOV AC命令を命令セットに押し込みます。 8bitレジスタA,Cを16bitレジスタとして1命令でデータ転送を行う命令です。 このためオペコードを数か所、変更します。以下は凡その内容。
STAB命令とSTABP命令(0x2F)の統合
オペコード0x01の命令群をオペコード0x2Fへ
オペコード0x01にMOV AC0x2FにMOV [],AB/MOV [],ACを追加

SWAP AC命令も可能なようにするかもしれません
現状の目標周波数は133MHzでしたが、昨日の修正で限界になってきたので 125MHzに変更することになると思われます。


4月10日 WZeta:新規命令追加後の最新の論理合成結果

一昨日の日記で報告したレジスタ直交性のverilog修正が、 取り敢えずできたので、論理合成をしてみた。まだ十分な検証をしていないので速報値

WZetaのVivado2022.2による合成結果
133MHz、568 LUT、159 FF (BRAM 8KB)

直交性を改善しても4LUTしか増加してない。

改善前
LD A,B
LD B,A
SWAP ; AとBの交換
LD B,C

改善後
LD A,B
LD B,A
SWAP A,B
LD C,A
LD A,B C,A
LD B,A C,A
LD A,B B,A C,A
LD A,C
LD B,C
LD A,C B,C
SWAP B,C
LD A,C B,C C,B

4LUTの増加で、かなり改善されたと思います。 ハードウェアを知り尽くしていれば、効率的な命令セットができるのかも。 あまり役立ちそうではない命令も含まれていますが。


4月8日 WZeta:レジスタ直交性のためオペコード変更

WZetaの汎用レジスタは一昨年の公開時点では8bitレジスタA,Bの2個でした。 その後、Cレジスタが追加されたためレジスタ間のLD命令が不十分でした。

そこで直交性のあるレジスタ間LD命令に修正します。 このためオペコードが変更されます。アセンブラのニモニックは同じなので WZetaシミュレータを開発しているということがなければ影響は無いと思われます。

またレジスタA,Bを入れ替えるSWAP命令のニモニックは非推奨になります。 そしてSWAP A,BとSWAP B,Cが追加されます。

レジスタ間のLD命令を同時に複数実行するニモニックを追加予定。

LD A,B B,C C,A ; まだ未定

直交性によってわかりやすくなって、複数のLD命令を最大3個、同時実行できるようになります。 ただし同時に実行できるLD命令の組合せには制限があります。(SWAP A,Cは不可)


4月7日 WZeta:新規命令追加後の最新の論理合成結果

新規命令追加によってコード密度が向上しても周波数やトランジスタ数が大幅に増加すると デメリットのほうが大きいということになるので最新の論理合成結果に関心がある人はあると思います。
多少、急いで結果を出していますが、現時点では

WZetaのVivado2022.2による合成結果
133MHz、552  564 LUT、159 FF (BRAM 8KB)

あまりLUT数が増加していないのにも、かかわらず、新規命令が追加できているのは、 効率の良い命令を選択しているからです。
トランジスタ数当たりの性能が非常に高いことはWZetaの大きなメリットであり期待できる点であります。


4月6日 WZeta:新規命令NIBBLE、16bitシフトの追加検討

WZetaのコード密度と性能向上のため新規命令を2つ追加検討します。 仮想マシンCOMBATの高速化のためだということが見え見えだけど汎用命令と言い切れるだろう。

NIBBLE ; A←C下位4bit , B←C上位4bit
WSHL ; AB ← AB(1bit左シフト)

ネットで検索するとCOMET-II互換CPUをFPGAで実装しているところもいくつかあるようです。 今のところCOMBATはCOMET-II互換ではありませんが極力、COMET-IIに似たものにできればと思っています。

COMET-IIはプログラムもデータも同一の128KBみたいですが、 COMBATはハーバードアーキテクチャ、プログラム64KB、データ64KBを考えています。 (プログラム128KB、データ64KBも、どうにかなりそうですけど)

ノイマン型も可能なのですがハーバードのほうが安全性が高いので。

そういえばARMは安全性を高めるために CHERIという機能があるようです。中身は知りませんけど。

COMBATもメモリアクセスの保護のため256バイト単位でアクセス権を設定する機能をソフトウェアで実装することは可能です。 (当たり前ですが) 仮想マシンであることを活かして、案外、高信頼なものを作れるかも。 ICF3-Zの仮想マシン支援機構のことを話したあたりから、 このあたりを話題にしているところも、あったようです。

でも、COMBAT(≒COMET-II)は命令数が少ないので、新人が最初にやってみる新しいBASIC言語みたいな感じかも。


4月5日 WZeta:仮想マシンCOMBATの開発進捗

COMET-IIの汎用レジスタはGR0~GR7の8本みたいですがCOMBATも 仕様上は8本にするつもりですが、8本にするとメモリ4KB(プログラム2KB、データ2KB) に入らないことが判明。

とりあえずレジスタだけ4本の実装にするか、現在の開発環境を8KBにする作業をするか。

AMD/XilinxのFPGAのBRAM(4KB)、2個を連結して8KBにできそうなら、開発環境を8KBにするか、、、


4月4日 WZeta:仮想マシンCOMBATはCOMET-II互換CPUでは無い

過去にAMD/XilinxのFPGA向けに開発された8bit CPU PicoBlazeがあります。 互換CPUとしてPacoBlazeもあるようです。

COMBATが情報処理試験COMET-IIの互換CPUなのか?という疑問が、 あったか、なかったか。

仮想マシンCOMBATはCOMET-IIに似ているだけで互換CPUとかレプリカではありません。

COMET-IIのオペコードは仕様では定義していないと、ネット上の資料にはあったのですが、 COMBATはメジャーなCOMET-II実装のバイナリ互換を目指したものではありません。

WZetaのハードマクロ命令で高速に仮想マシンCOMBATをエミュレーションできることが優先です。 COMET-IIは国家資格試験のために命令セットアーキテクチャが策定されているので、 バイトではなくてワードマシンであることを除けば、シンプルで単純なアーキテクチャ。

要するに、COMET-IIは、ありふれた命令セットアーキテクチャなのです。 COMBATは、COMET-IIと類似はしているけど、全く別のオリジナルの仮想マシンと言えます。 ただアーキテクチャは酷似している、、、

今年度4月の試験からCOMET-IIを含めたプログラム言語が無くなるため、 今後、COMET-IIに税金が投下されない予想をしています。 そこで税金を使わない方針のWZetaが仮想マシンCOMBATを始めたという、わけなのです。 これにはCOMET-IIを学習した人が救済されるような考えも、あったりします。 最後まで開発するのか、不明ですけど。


4月3日 情報処理試験COMET-II風、仮想マシンCOMBAT

8bit CPU WZetaに即値加算などの新規命令のverilog実装が順調に進んでいます。 論理合成結果も、追加前と同程度の周波数とトランジスタ数(LUT、FF)でした。
動作検証のために何かアプリを作成しようと考えた結果、情報処理試験でお馴染みの 仮想マシンCOMET-IIによく似た仮想マシンを作ってみるのも、面白いかなと。

昔も同様の計画を立てましたが、少し実装してみて、終わりにしました。 前回はRedCometという名前にしましたが、紛らわしいと言われると困るので、 COMBATにしました。RedComnet「赤い彗星」、バズリそうな名前だったんですけど^^;
COMBATの由来は、昔ASCIIにSunのSPARCとゴキブリホイホイのコンバットがよく似ていることから、 紙面に写真付きで比較されたことがあるところからです(爆笑)

今回も途中で終わってしまいそうですがハードマクロ命令を128個に拡張したおかげで 劇的に高速な仮想マシンが作れそうです。そしてCOMET-IIに似ているから、使い易い。


4月2日 WZeta IN命令のオペコードを移動しました

入出力命令なのでシミュレータを開発して外部入力までシミュレーション をするようなことをしていなければ影響ありません。
オペコード 0x1D → 0x0F


暗号プロセッサ OpenICF3