デジタル庁の河野大臣記者会見8月30日のYoTube
を見ているとスマホにマイナンバーカードの機能を持たせる話をしていた。
マイナンバーカードの補助的な機能ということではなくスマホをマイナンバーカードにすることのようだ。
動画を見て思いついたことを言うので、保証の限りではないけど、専門家の一意見にはなるような気がする。
量子コンピュータの解読に耐える演算器がICチップに収まらるとは、限らないかもしれない。
そして国際標準であるGP-SE対応のJavaCardのICチップを製品化するには、巨額のコストがかかると思う。
そこで既存のJavaCardにコプロセッサのI/Fをつけて量子コンピュータの解読に耐える演算器を外付けするという案。
量子コンピュータの解読に耐える公開鍵暗号の候補は3以上あるみたいなので、状況に応じて適宜、
取り換えられるのもいい。そういったスペースをハイエンドスマホ に準備するみたいな。
コプロはJavaCardのjavaプログラムで制御するので、
スマホのOS、Androidから見て、コプロのハードを意識する必要はない。
とりあえずRSA 8192bitが演算できるコプロを、スマホに入れておいて、
RSAが崩壊したらRSAコプロだけ交換。
日本のハイエンドスマホ はRSA 8192bitがあることをAndroidは知っていれば良くて、
日本政府だけで完成しそうです。スマホだとICチップより多少、大きいチップが使えるのが良さそうですね。
Windows版のエミュレータ eWZ-660の画面をGDIにする作業中。
WZ-660のVRAMのデータを30[ms]間隔で表示させてもCPU利用率4%。
CPUは2009年ごろのIntel E3200だから、テキスト画面で表示させていたときより、ぐっと軽い。
GPUが効いているのかな。
図をマウスでクリックすると拡大されます
スラド記事
LastPass の開発環境に不正アクセス、ユーザーデータは影響なし
という事件があったらしく、自分も同様のソフトmyuTokenについて考えてみました。
フリーソフトmyuToken の
最後のリリースは2018年なのでメンテナンスされていませんが、myuTokenのサイトの
冒頭の説明にあるようにICカードアプリ開発用途としての価値があるので、まだ当面、
公開しておくつもりです。このICカードにアクセスするためのAPIは大きく3っつ。
WindowsXPまで使われてきたMS-CAPI(BaseCSP)、WindowsVista以降のCNG(BaseCSP)、
オープンソースで良く使われてきたPCKS#11です。myuTokenのメンテナンスを怠っているので
PKCS#11の状態はあまり良くないかもしれません。
しかしRSA暗号2048bitのCNGを使ったアプリの開発で便利かもしれません。
CNGはRSA 2048bit以上も使えるはずなので、僕がmyuTokenをバージョンアップすれば、
RSA 3072bit、4096bitはいけるのかな?当面はRSA 3072bit、4096bitに対応する予定はありません。
アプリの開発でmyuTokenを使うなら、RSA 4096bitも動作するように考えながら、
RSA 2048bitで動作検証をすることになるのかも。
量子コンピュータによるRSA暗号解読のリスクについては考えに入れておいてください。
myuTokenはシミュレータではなくて、ハードの動作を完全にエミュレーションします。
ただ実際のICカードのようなセキュリティは無いのでアプリの開発で使えば価値はあるような気がします。
マイナンバーカードもRSA 2048bitなので、まだまだRSA 2048bitはいける?
WZ-660の画面は320x240(QVGA)だけどWindowsの4bit Colorと同じ形式だから、
描画のノウハウが流用できるのかもしれない。
Win32 CreateDIBSection()を使うとWZ-660のVRAMと同じフォーマットの
メモリポインタを得られるから、そこに描く方法は、WZ-660でも使えるみたいな。
Windows初期の頃に使われていたS3などのビデオカードのノウハウがあると
使えたりするのかもと思った。S3のカードを調べてみるとWin32 APIのBitBlt()を
ハードで高速化できるとかあった。
でもWZ-660では2コアにして1つをビデオカードのように使うのかな。
画面表示をしないときは2コアで全力計算、、、みたいな世界が待っている。
eWZ-660(WZ-660のエミュレータ)の画面出力をテキスト画面からWin32 GDIに変更。
Win32 GDIへの変更に時間がかかったのは、ネット上のWin32情報から256色以下はパレットという
記述からパレットを選択していたら間違っていた。
ラッキーだったのはWZ-660の16色の画面フォーマットがWindowsのWin32 GDIの4bit Colorの
フォーマットと一致したこと。変換は不要でメモリコピーだけでいい。
ICF3が製品化された1999年、IBMが世界にオープンにしている仕様では暗号解読の性能が出なかった。
まだ米国の暗号輸出規制が厳しかった時代で、意図的に性能が出ない仕様になっているので、これは当たり前だった。
日立は独自にDES暗号にECBモードを追加している。DES暗号の性能はIBMの3~4倍の性能でしかも、
ECBモードに対応していたので、DES暗号解読性能でIBMに圧倒的に勝っていたことになる。
DES暗号解読という目的で大型コンピュータを使うことは、コスト的に見合わないかもしれないですけど。
ICF3には4っつの演算器がありますが、唯一、僕が関係していなのがDES暗号の演算器。
日立が独自にECBモードに対応しようとしていたのを知ったのは、偶然。
ICF2(1998年)だったかもしれないけど、製品出荷のため、現場で実機の動作検証をしていた。
CPUはIBM製。IBMの仕様にない高速な転送を実装しようとしていた。
この転送方式では100%を保証できないということを設計部に話したのだけど、無視された。
何故、無視できたのかを考えて、わかったことは「設計部は、暗号解読機能を売れないか、考えていた」
ということだった。
昔話終わり。
昨年、牧島かれん氏がデジタル大臣になったときもメールをして暗号プロセッサSnakeCubeの説明をしています。
現在、最も利用されているRSA暗号の鍵を大きくして延命をすることを考えた場合、SnakeCube以外の選択肢はありません。
今月、デジタル大臣に就任された河野太郎氏にもメールをしてみました。
SnakeCubeの用途として、マイナンバーカードへ誘導する工作員が見られるのですが、
恐らく、これはマイナンバーカード反対勢力を使ってSnakeCubeを潰させて、
国民の判断でSnakeCubeは潰されましたという結論を出すためのものでしょう。
民間利用のOCSPも、反感を引っ張り出す作戦に利用されそうなので、
今回のメールでは、それを避けて、国で利用するタイムスタンプサーバーを考えています。
僕には、僕の技術の特性と、その応用を説明することしかできず、制御がないので、
税金を無駄に引っ張り出すための無駄な方向へと誘導されやすいため、みなさんの
監視が必要となると思われます。
僕はこの国に冷遇されたので、頑張れる力はあまりありません。
みなさんのこの国の未来を考えたいという力が大事になると思います。
以下は余談で、僕に都合の良い話です。忙しい人は読み飛ばしてください。
ツイッターでOCSP Stapingの話がありました。OCSPレスポンダからの結果を
キャッシュする仕組みなので時間差が生じます。
株の取引で1時間の時間差が生じた場合の、損害額を考えるなら、
OCSP Stapingは使わないほうがいいと思いますが、OCSP Stapingを使うと
認証局(CA)にアクセス履歴が漏れないメリットがあるようです。
ブラウザのデフォルトのキャッシュ有効時間を1秒に設定しておけば、
いいのかもしれませんが、アクセス履歴が残ったところで、あまり困らない
ケースは、あるような気がします。
SSL証明書を販売することを考えた場合、OCSP Stapingを有効にできる人
でなければ、いけないことが大きな問題になりそうです。
(OCSP Staping非対応のブラウザは、どうするの?)
RSA暗号の延命期間は、OCSP Stapingを考えずに、これまで通りになるではないでしょうか。
つまり認証局の人もSnakeCubeは、考えに入れたほうがいいということです。
7月28日の日記 で予告していた通り
DetachSignサービスを終了しました。
同時に2年以上前に活動を終了していた
ChromiumOSの独自ビルドのサイトも閉鎖しました。
これまで開発してきたテキスト画面では遅すぎなのでWindows版はWin32 APIを使った
アプリにするべく作業を開始。アイコンができた(笑)
最新のMicrosoftのVisual Studio 2022(無償版)でWin32を新規作成しようとしたら、
できなくて6~7万円で買ったVisual Studio 2013 Profesionalを使って、
しばらくぶりに開発をはじめた。そしてVisual Studio 2013のWin32ソフトが、
Visual Studio 2022でコンパイルできることを確認。今日は、ここまで。
僕がまだ日立の大型コンピュータ事業部にいて暗号プロセッサICF3(1999年)の後、
日立のSEが日本銀行の暗号装置の案件を持ってきた。エンジニアの僕のところにも、
やってきて「オープン系の暗号装置は開発できるか?」「国民のみなさんの大切な税金を使うことになる」
といったことを言っていた。
ICF3(1999年)の開発中、僕は体が辛くなって、もう開発はやりたくないと思うこともあるくらい酷かった。
このため日立のSEには、素っ気なく「オープン系の暗号装置も開発できる」と返答したのだけど、これが失注になった。
僕が全力で取り組まなかったせいで、今、後悔している国民はあるような気がしています。
日本がSnakeCubeを採用しないのは、トップのわがままではないかと、僕は思っている。
僕のリストラで入る金に目がくらんで、それ以降、誤りを訂正できなかっために、
この国ごと沈んだというのが真相。
再び後悔することのないように動くべきかと。
eWZ-660はテキスト画面を使った320x240 16色で開発してきました。
先日、公開した動画でも、わかりますが、やはり表示速度が遅い。
eWZ-660の試作シューティングゲームの動画
結局、テキスト画面では1秒に1回程度の描画が限界かもしれないです。
高速な描画方法を探求します。SDL2は最終手段かな?
16bit CPU TZetaの命令セット作成作業をしているわけではなくて、
8bit CPU WZetaのプログラムをしているうちにTZetaの命令セットの良いアディアが浮かんだ。
風呂に入りながらTZetaの命令セットについて考えているという状況かも。
アドレス用の32bitレジスタを1本追加することを考えています。
ここ数日、日本でICカードを作る話をしましたが、RSAの延命のための回路に、
僕以外の人を起用したいと思った人があると思います。この日記サイトのトップページの次の部分に説明があります。
文系でもわかる暗号プロセッサSnakeCubeの説明
SnakeCube が世界的な大発明であることが、
わかると思います。RSAの延命の回路は僕しかできません。
まず僕についている産業スパイを取り除いて、
この国の国民がSnakeCubeの開発を望んでもらえることを期待しているのです。
3か月ぶりの更新です。前回投稿のシューティングゲームの動画のプログラムが入っています。
公開用のファイルに仕上げているわけではなくて、昨日、ようやっと動作したプログラムです。
おおめに見てやってください。
この動画にあるプログラムを実行するには高性能なWindows10以降のPCが必要ですが、
計算結果の数字をテキストで出力するだけのシミュレータはWindows95でも動作します。
ゲーム用のグラフィックデータは「ゲームアルゴリズム まるごと図鑑」廣瀬豪(著)のデータを
加工したものが、僅かに入っていますが、個人利用であればインターネットによる公開は
OKのようです。
アセンブラに強い人とか、わかる人は、わかるという説明しかないので、
悪意、敵意の無い人は、お気軽にご質問ください。
公開ファイル WZetaシミュレータ バイナリのみ
WZetaSim2022_08_22.zip
SHA-1 : 3a6876ae2e157f8a1033c3872b08bd05d94e27c8
まだ当たり判定が無いのでゲームにはなっていませんが、ゲームっぽいものがeWZ-660で
動くようになりました。グラフィックライブラリを使用せずC言語の標準ライブラリだけで
エミュレータは作られているのでWZ-660が自作したゲームを保存する目的で使えるようになればと思っています。
キーボードを使って飛行機を上、下させます。SNS上では、停止キーが必要になるのかと心配いただきましたが、
その必要はなさそうです。Windows/Linux、どちらも上、下キーを離せば飛行船は止まります。
ただし弾を打つには、上、下キーを離してからスペースを押さなければ発射できません。
これでもゲームは作れそうな気がします。
eWZ-660の試作シューティングゲームの動画
前回の日記 の続き。
根拠はないけど量子コンピュータに強い公開鍵暗号は、最新の超高性能AI専用演算器を使うと、
意外と短時間に解読されることはないだろうか?
もしそうならSnakeCube は全世界の人が必要とするはずで
ICカードサイズでなくても、昨日の日記にあるような2.5インチサイズの
USBデバイスが売れるかもしれない。これは産業の問題だけではないことを
日本の中堅リーダーは気合を入れて考えるべきではないだろうか。
何故、根拠がないのに強く言えるのか。それは暗号というものが支配者にとってあまり
歓迎されないものだから。AI専用演算器で解読することを考えているかもしれない。
ビットコインの話をすると2010年代、中国は
巨大マイニング施設をいくつも作っていた。
日本はと言えば、ネットでは次世代暗号を使ったファイル暗号だから安全というのが流行っていた。
ビットコインのマイニングハードは、その次世代暗号(SHA-256)を使ったファイル暗号を
解読するためにあるといってもいいだろう。
国の研究所機関は、これを知りながら、お金を払わない国民にまでサービスをする必要が無いと
思っていたのかもしれない。
日本が情弱国家になっていることに、気づけていないのだろうか。
中堅リーダーは気合を入れて考えないといけない。
AI専用演算器で解読できる必要はなくて、解読できそうなら、いいとという意味がわかるだろうか。
中堅リーダーが立ち上がらないと、うまくいかないのかもしれない。
暗号化のハードは厳しいかもしれないが、電子署名のみなら、暗号にうるさいところも通ると思う。
8月20日 18:00 補足
ビットコインの事例で耐量子暗号の未来を予測
次世代暗号SHA-2のファイル暗号だから安全
↓
ビットコインの巨大施設のハードで解読できた
--------------------------------
量子コンピュータの解読に強い次世代暗号で安全
↓
AI専用ハードで解読できるかも
前回の日記 の続き。
SNSで日本には露光装置がなくて高集積なICチップが作れないという反応があった。
ICカードという形状にこだわる必要は無いのかもしれない。
2.5インチのSSDのUSBドライブの形状でも問題がない場合も多いような気がします。
あと240x160の液晶ディスプレイがついたタイプとか。
僕のSnakeCube の技術を使えば、
複数のチップで並列に動作させることが可能です。
高い効率を維持しながら並列にRSA暗号の演算ができる方法はSnakeCube以外には
無いでしょう。 しかも、いくつチップを並列に繋いでも、ほとんど効率が落ちない。
元日立製作所の人が国際学会で発表
したものでは性能も低いし、複数チップは無理。
僕は半導体チップの設計については詳しいのですが製造については、あまり詳しくないので
日本国内の半導体チップを製造しているところで現在、沸騰している熊本TSMCを除くと、
最も集積度が高いチップを作れるところは富山県魚津市?にある工場かな。
半導体チップがあれば、大日本印刷に半導体チップを受けるインターポーザ(高性能な基板?)があるから、
もしかすると、いけるかもという気がする。
DNP、次世代半導体パッケージ向けインターポーザを開発
財経新聞の記事
「量子コンピュータと暗号技術で加速する競合、先の見えない開発が続く!」
量子コンピュータによる暗号解読に強い米IBMの暗号アルゴリズム「CRYSTALS-KYBER」
は2024年までに規格化されて事実上の世界標準方式になる。
そしてIBMが5月に明らかにした工程表によると、25年に4000量子ビット級になる。
多少、自己中な意訳をすると
4000量子ビット級でRSA 2048bitが解読できるのか、わからないけど、
仮に解読できると、2025年には世界的に危機が訪れる。
「CRYSTALS-KYBER」が世界標準方式になっているとはいえ、
世界標準方式が絶対安全なのか、わからないし、RSA延命を考える人々は、
ありそう。急いで世界標準方式にシステムを切替えて、
新しい暗号で脆弱性が発見されましたということになれば、大損になるわけなので。
記事には
「(ICカードの製造の)技術が革新されてオールイーブンとなった今回を措いてチャンスはない。」
と書かれている。
日本も試作をしているみたいだけど、僕の発明、
SnakeCube を加えれば、大きなシェアを獲得できるのではないかと思う。
日本でICカード製造で有名なのは凸版印刷、大日本印刷(DNP)ですが、
参考までの話をすると、大日本印刷は僕の自宅のある埼玉県狭山市にもある。
自転車があれば、すぐ。すぐ近くに東京オリンピックが開催されたゴルフ場があって、
狭山市の警察署は旧米軍基地の管制塔の隣の建物。
何か都合、良すぎな状況。世界各国の重要な人物がゴルフ場に集まって、
だべりながら、日本のICカードを自分の手で持って帰ることが出来そう。
昔、そういった実績とか、あるのだろうか?
そうなれば狭山市の税収アップで、やる気がでる人がいても良さそう。
今回のチャンスをのがすと産業スパイによる妨害工作で日本大損に成功することになるかな?
大損というより日本敗戦、、、か。日本国民が、僕やメーカーを応援するときではないかと。
エミュレータをマルチスレッド化して表示とキー入力を別スレッドで行うと
画面が乱れる問題をLinux版では対策できました。Windowsは、これから調査。
CPUエミュレーションしているスレッドからキー入力を得るためには、
別スレッドでキー入力をして、転送するという、ちょっと面倒なことが必要でした。
マルチスレッドプログラミングでは、普通に当たり前のことなのですけど。
僕が2014年~2020年にChromium OSを自分でビルドして公開していたサイトです。
2022年8月24日ごろに閉鎖します。
Chromium OS Canalビルド
https://canal.idletime.be/
既にOSイメージのダウンロードはできないので廃墟となっています。
Chromium OS Canalビルドは日経Linux 2015年 3月号 100ページ目で紹介されたこともありました。
サービス終了ではなくて既にサービスを終了したサイトの閉鎖なので、
閉鎖理由も必要無いと思いますが、しいて言えばサーバーの負荷を減らすこと。
サイト閉鎖後、canal.idletime.beのサブドメインは消滅しますが
idletime.beは維持されるのでサイトを乗っ取られる心配はありません。
米国の32/64bit CPU、RISC-Vはオープンソースなので世界各国で乱立する
CPUを抑えることに成功し、永久に使われ続けるかもしれない。
それと同じで僕の8/16bit CPUもオープンソースなので永久に使われるかもしれない。
僕のCPUは8/16bitなのでRISC-Vがカバーできない範囲をカバーし、
そして他の同クラスのCPUと比較して圧倒的に優れているので。
そうなったときの問題を考えるなら、世界を正常な方向に回していくほうが良いと思えます。
よろしくお願いいたします。
何故、暴力団に狙われるようなCPU開発なんかするの?みたいな質問が、あるかもしれない。
僕は2005年に日立製作所を退職している。人によっては「胸章」を返却せず、退職後も
日立に出入りする場合があるようです。僕は退職日に「胸章」を返却している。
その年の冬に突発性難聴になり左耳が完全に聞こえなくなった。
そして医者は何故か頼んでいない突発性難聴の診断書を僕に渡した。
これは推測でしかないけど、世界一の暗号ハードを開発した実績のある僕を再利用する人が
現れないように工作員によって僕の脳が破壊されたことを、知らせるのに役だったかもしれない。
頭と体が衰弱してしまった僕は、健康な人と戦えるはずもなく、過去の実績を活かす仕事を
選ばざるを得なかった。そういう意味では工作員のやったことは逆効果だった。
僕には大型コンピュータの暗号プロセッサ3個の開発実績がある。
プロセッサを開発するには十分すぎる実績を持っていると自負している。
2018年、32bit CPUを作るためFPGAを眺めていると偶然に閃き、世界に響くような暗号プロセッサ
SnakeCube を発明した。
今年あたりから、ますます政府の規制が強化され、政府の許可がないと国内はともかく海外へは
SnakeCubeを販売することができない状況になったため、政府の様子を伺いつつ、
CPUを開発していくという方向しかなくなっている。
もちろん学生時代、CPUを開発したいと思って日立製作所、中央研究所、超高速プロセッサ部に
就職しているので、CPU開発が好きだという理由もある。
医者がCPU業界に必ずしも詳しくないことに気づいた。
数日前、ソフトバンクグループの赤字が過去最大であることが報道され、
孫さんはARMについて、あまりコメントしていませんでしたが、
ARM CPUに期待と報道したメディアもあった。
英国のARMはスマホだけでなく、
家電や医療機器などで使われるマイコンのCPUとして支配的に拡大しています。
これは世界を支配する力となり得るのですが、米国のRISC-VによってARMの独占は
破られています。RISC-Vは大学が中心となって設計されているため、逆風も大きいのですが、
高性能技術の入っていない小型のRISC-Vは、容易に製造できるため、ARMにとっては、
強敵となっています。家電製品で使われるマイコンのCPUが何なのか、
確認して購入する人も少ないですし。
ARM独占によって見込めた利益は、RISC-Vによって既に支配的に削られているわけです。
僕のTZetaが存在しなければ、別のCPUが名乗りを上げていた可能性は大で、結局、
あまり変わらないだろうという予想でした。
現代では小さいCPUはFPGAのおかげで、僕のように個人で開発できますから。
直接関係ないですが、SONYのIoT用ボードコンピュータ
SPRESENSE
のCPUはARMですが、OSはNuttXらしくコスタリカという国で個人で開発をしていたものらしいです。
僕のTZetaは16bitレジスタ3本 4本(仮)ですが、AVRという北欧発の8bit CPUは8bit×32本。
TZetaは地球の鉱物資源の節約に役立つ良いCPUだと思います。
本日の歯医者での治療終了後、会計で薬を渡した店員が、今日、はじめて見る顔だった、、、
無くなった歯は2度と生えてこないのです。
産業スパイのサイバー攻撃で頭に負荷をかけられていたが、
久々に開放された。作業が捗りそうです。
16bit CPU TZetaもRISC-Vのようなオープンソースにする予定なので、
日立の32bit CPU SHを越える日本発の財産になると僕は思っています。
TZetaも税金不可の方針になると思いますけど、みんなで騒いでお祭りにしましょう。
現在は僕1人ですが、僕はTZetaのトップで独断できる状況を頑張って維持します。
何故、こんなことを書いているのかといえば、前回の日記
「歯医者で歯を抜きました」 を読めばわかります。
僕の個人技で開発に成功したICF3(1999年) は
世界に売れる販路を持っていた日立の力もあるけど、技術的にも良くできていた。
この結果、世界に良く売れて、日立の事業に貢献している。
これが当時、世界一RSA暗号が高速だったため、他国の半導体の中を開ける費用が、
非常に安かったはずで、暗号ハードウェアの技術が無い国より、ずっと有利に展開できていたはず。
現在も、僕のSnakeCube の発明によって、それが続いているはず。
僕は生まれて飴玉のひとつももらうことなく酷使され、潰された。
東大卒や、この国の人は「恩を仇で返す」ようなことをしないで欲しいのです。
8bit CPU WZetaでASICのマイコンを作るために向いたRedCoderコアを終了します。
WZetaの狭いアドレス空間を拡張するための実装を検討するなど、時間をかけてきたのですが、
先日、この日記で発表した16bitのTZetaと重複することが理由。
大学卒業後、そうそう母校のサイトを見ることはない。
いつから見えないのか、わからないけど、DNSがURLのIPアドレスを
教えてくれなくなったように見えています。つまり、僕だけ見えていない可能性大。
参考までに、過去、笠原研究室では日立・ルネサスのマルチコアのマシンを
使っていたようです。相変わらず僕は日立が嫌いなので、
このマシンについて良く知らないのですが、僕が日立製作所の中央研究所に入ったときに、
研究所の課長だった内山邦男氏の名前もあるようですので僕のゼロ遅延マルチコアと関係が
あるのか?に興味がある人もあるかと思います。
僕のマルチコアと日立のマルチコアとは全く関係ありません。
僕は悲惨な状態で日立をリストラされたので交流も全くありません。
悲惨なリストラを隠ぺいする日立の工作員が常駐しているので、僕から日立へ情報は流れますが、
日立から僕への情報は、皆無です。全面的に工作員とは戦っています。
ようやく作業が少し進みました。12日の日記でエミュレータに
VRAM表示専用のスレッドを追加しましたが、キーボードの入力を受ける命令が入ると、
画面が乱れることがわかりました。コンソールアプリの標準入出力を2つのスレッドで
アクセスすると、表示に影響するかもしれないと考えているところ。
標準入出力の使用をプログラムを起動したスレッドのみに入出力を限定して
上手くいくのか試して、ダメなら、シングルスレッドに直すか、別の手を考えるか。
理系の先生以外の人も半導体製造で使う鉱物資源を減らすことは必要なはずです。
理系の先生にあってはTZetaがあれば、少ない鉱物資源で同じ性能が出るCPUを使いこなす教育をする機会を増やします。
日本の半導体を巡る環境は劣悪です。
理系の先生が一丸となってTZetaを必要だと思うことが重要だと考えています。
8bit CPU WZeta も、省資源に製造できるCPUですが
アドレス空間が狭いため、あまり多くのアプリケーションは動作しません。
せっかくゼロ遅延マルチコアの教育をしても価値のあるものにならない。
そこでWZetaを16bit化してアドレス空間を広げると適用できるアプリケーション増え、価値のある教育になります。
複数のタスクを処理するアプリでは1コアよりSMPのほうが設計しやすい。
またWZetaのSDogコアは1命令4サイクル固定なのでリアルタイム処理の設計を正確にできます。
そして複数コアで1タスクを実行してシングル性能を上げることもできます。
要するに限界まで周波数を落とせるアプリの設計ができます。
限界まで鉱物資源を節約できるアプリの設計ができるということです。
TZetaはWZetaと同じレジスタ3本のアーキテクチャなので16bit CPUで最速になるようなCPUではありません。
しかしながらTZetaの命令セットはSMPを構成した場合、プログラムメモリのバスが16bitではなく8bitで済むため、
金などの配線材料を減らせます。8bitバスにすることは他のCPUでも可能ですがTZetaは効率的に実装できます。
他のCPUではなくTZetaが必要なのです。よろしくお願いいたします。
命令セットをZ80と比較してみると面白いよと言ったからだと思います。
Z80のLDIR命令について書いている投稿を見かけました。
LDIR命令は1命令でメモリをコピーする命令です。
(DE) ← (HL)
DE ← DE + 1
HL ← HL + 1
BC ← BC - 1
任意のアドレスにあるメモリをコピーできます。
これをこのままWZetaで実装すると命令数も多く、性能も悪くなります。
WZetaは8bitレジスタが3個しかないのでゼロページに16bitレジスタDE、HL、BCに相当するものを配置します。
それらを%D、%E、%H、%L、%B、%Cとします。
loop:
INCX %L
INCXC %H
LD C,[A:B] ; A:B = %H%L
INCX %E
INCXC %D
ST [A:B],C ; A:B = %D%E
DEC %C
DECC %B
JRZ0 ^loop
WZetaではメモリコピーは、もっと高速に処理できるようにデータの配置を考えておきます。
例えば$7800(h)から256バイトのデータを$9A00(h)にコピーするためには、
LD A,0x9A
LD B,0x00
LD C,0xFF
loop:
STAB [0x78:B]
LOOPINC ^loop
Z80のLDIR命令が1命令であるのに対して2命令ですが、性能は高速です。
また転送バイト数が少ない場合はSTACP命令を並べることで、上記STAB+LOOPINCの2倍近い性能になります。
ハードマクロにSTACP命令を8命令(or 16命令)、並べたものを定義しておけば、そのハードマクロ命令を
並べることで高速にメモリコピーができます。STZCP命令も同様。
STACP、STZCP命令をループで繰り返すコード。3命令になりますが上位バイトアドレスはコピー元、コピー先で異なるものが使えます。
loop:
STACP [m:B]
DEC %i
JRZ0 ^loop
とはいえ、ここはトランジスタ数当たりの性能にこだわった結果の歪とも言えるあたりで、
WZetaプログラミングの難所かもしれない。
8bit CPU WZeta を16bit化したCPUの名前ですが、
TZetaにします。WZetaの名前の由来はICF3の8bit版、ICF3-Z より、
さらに軽量なCPUという意味でICF3-ZZを考えたのですがアーキテクチャが全く異なるのでZZからWZetaとしました。
16bit化したCPUはZZZから、Triple-Zetaがいいかと思ってTZetaとします。
産業スパイ経由の質問は、辞めて欲しいのですがバスを16bit化するとWZetaの特長である
語順逆順(オペランド投機)を一貫させた命令セットの意味がなくなり「普通の16bit CPUと同じではないか?」
という指摘。
TZetaはハーバードアーキテクチャにしてプログラムメモリとデータメモリに分けてSMPを作ると、
プログラムメモリは16bitバスではなく8bitバスを使えるので製造原価を下げることができるメリットがあります。
これはSMPではなくて1コアでも同じでプログラムメモリは8bitバスを使えます。
デメリットは語順逆順を一貫させるために16bit固定長のコードエリアに無駄が生じること。
WZetaのときはトランジスタ数を少なくすることが設計目標だったので、このデメリットがありませんでした。
TZetaは、WZetaと同じ16bit固定長の命令コードに16bit演算命令を詰め込んでいるので、デメリットになっているようには見えず、
むしろ逆に高効率というメリットになっている。 命令セットの作り方が、上手かったということかも。
そう思えているだけかも^^;
TZetaのハード実装(verilog)は未だですがWZetaの改造でいいことから、実現可能と予想されています。
ツイッターで、いろいろ紹介してくれる人がいます
Arduboy2互換機 、
Raspberry Pi Pico自作ゲーム機 、
Tiny Joypad互換機
恐らく僕が僕のWZ-660互換機を作ってみたい人があるのか聞いたからだと思う。
ついでにWZ-660のメリットについて言うとCPUもオープンソースで、
高効率な命令セットなので、多分、WZetaはこれから普及するためWZetaを勉強するのに良い。
Raspberry Pi Picoも小型のSMPという分類かもしれないけどWZetaは、もっと小型のSMPを構成できる。
複数タスクの同時実行が決まっているアプリはSMPが便利。そして複数コアで1タスクを実行できる特技がある。
ゼロ遅延マルチコアと呼んでいる。WZetaのSDogコアは1命令4サイクル固定なのでリアルタイム処理の設計を正確にできることも良い。
限界まで周波数を落とせる設計ができること、製造原価を下げることを重視した設計が良い。
僕が基板を設計して小型のFPGAとSRAMを実装してWZ-660互換機を開発することは、殆ど無いのですが、
主記憶のSRAMがすっぽり入る大型のFPGAのボードは、ここのところの半導体不足で高値になっているので、
基板を設計してWZ-660の互換機を作ったほうが安いみたいなことが起きそうなので、思いついたことを書いてみる。
WZetaの公式サイト で設計図を公開しています。
SDogコアは改造すれば、プログラムとデータでメモリを分けた場合、プログラムのレイテンシが2サイクルでも良くなります。
思いつきで言っているので保証は無いですけど。2サイクルでいいのは初回のオペランドの8bit。
2回目のオペコードの8bitは、これまで通りレイテンシは1サイクルでなければなりません。
しかし1度に16bitのデータを転送するシリアルEEPROMであれば、1回のリードでオペコードまでリードできてしまうので、
少し遅いシリアルROMを使えます。
WZetaでマイコン基板を作るにあたってプログラムコードを格納するROMの実装をどうするのかで苦労するのですが、
シリアルROMを直接CPUで実行できる実装であれば、かなり安価に作れるような気がしています。
シリアルROMの問題点は、非常に遅いことでしたが、上記説明のように、多少、高速化ができそうなので、
腕に力がある人は、考えてみるのもいいかもしれません。
8bitの命令を16bit命令化するための考察。例えばオペコード24のADD命令。最上位ビットを1にして16bit命令にした場合。
ADD [m],A ; オペコード24 [m]は8bitのデータ
ADD [m],A ; オペコードA4 [m]は16bitのデータ
のようになる。即値代入は
LD A,n ; オペコード02 nは8bitのデータ
LD AL,n ; オペコード02 nは8bitのデータ
LD AH,n ; オペコード82 nは8bitのデータ
オペランドが8bitなのでAレジスタの上位バイトに代入する命令にします。
下位は、これまでのオペコード02を使えばいい。
即値の論理演算
AND A,n ; オペコード3B nは8bitのデータ
AND AL,n ; オペコード3B nは8bitのデータ
AND AH,n ; オペコードBB nは8bitのデータ
ここで問題になるのはゼロフラグ(ZF)、16bitのAレジスタに対する即値の論演演算の結果が、
上位と下位に分けてしまうと、得られなくなる。
16bit化したハードも簡素な作りであるほうがいいと思ったので次のような方法を考えた。
AND AL,n
JRZ0 2
AND AH,n
3命令、6バイトのコード。これだと16bit固定長の処理で良くて8bit WZetaの構造を変更する必要が無い。
8bitのオペコードに16bitのAレジスタのAND命令が入れば、1命令、3バイトだけど、
入らなければ1命令、4バイト。コードは短くなるけど、ハードは
可変長の命令コードを処理しなければならない。
上記だけの考察で、現状のWZetaのハードを修正すれば、比較的小さい修正量で、
16bit化されたWZetaができるかもしれない。
WZetaの16bit版の名前、どうしよう。トリプルゼータ(TZeta)にしようかな。
近いうちに開発を始めるかも。
命令セットの16bit化で空いていた最上位ビットを16bitで処理する命令として使うのなら、
互換性を維持できるのではという質問が聞こえてくる。
互換性の維持はできるかもしれないけど、維持できなかった場合の問題があるので、
まだ互換性は無いということにしています。
WZ-660の仕様をVRAMを2面持って切替える方式に変更した。
これに伴なってeWZ-660(WZ-660のエミュレータ)も更新。VRAM表示専用のスレッドで対応した。
Linux、Windowsのどちらでも動作することが確認された。
WZetaと他のCPUと比較。小型のSMPで有名なのはRaspberry Pi PicoのDualコアです。
CPUは32bit ARMでクロックは133MHz、SRAM 264KBなので16bit WZetaの強敵かも。
PicoはSRAMは6ブロックに分かれていてAHB Busに接続されているので、
CPUとSRAMにバスがはいっている分、配線遅延が気になる。
配線遅延を隠ぺいするアーキテクチャにすればスループットは上がってもレイテンシ性能が低下する。
メモリアクセスが競合すればウェイトするシステムがあるのかも。
2つのコア間の通信に専用FIFOがあるのは、その証拠。
WZeta SDogコアの2つのコア間の通信は、FIFOは必要なくて、直接共有メモリにアクセスして遅延ゼロ。
遅延ゼロなので2コアで1タスクを実行して性能が向上できる。
しかしながらPicoは乗算器、除算器、専用演算器を装備しているので、これらを使いこなせば、
16bit WZetaより圧倒的に高速だろう。
WZetaはPicoのようなAHB Busを経由せずに直接CPUとSRAMが繋がっている。
SRAMへのアクセスが競合しても、遅延しないので、制御やリアルタイム処理では、
WZetaは便利かもしれない。マイコンは高い性能を競うわけではなくて、いかに周波数の低い安価なCPUで、
要求性能を満たしているか。それにはメモリアクセスが競合した場合にウェイトの入るCPUでは計算が困難。
つまり正確に計算できるWZetaの開発を妨げることはできないと思っています。
ツイッターのTL上に、なぜ今まで小型のSMPがなかったのか?
の説明が欲しいみたいなことが書かれていた。
技術的なこと以外でCPUの作り方はRISC-Vしかないという世界が出来上がっている。
RISC-Vのようなパイプラインアーキテクチャがベストだというところから学生も学んでいるように思う。
RISC-Vのようなパイプラインアーキテクチャを考えている限り、WZetaのゼロ遅延マルチコアは生まれてこない。
CPUにどうやって効率良く演算をさせるかではメモリアクセスはバラバラになるから。
WZetaでキャッシュメモリ(or バスのアービタ)が無い小型のSMPが作れるのは、
メモリアクセスが規則的だから。小型のSMPが、これまで無かったのは、WZetaの発明がなくて、
割高なものしか作れなかったからではないだろうか。
アービタはキャッシュのようにトランジスタ数を使うわけではないけど、
性能が安定せずPWM制御とか、リアルタイム処理では、かなり不利になる。
新技術、ゼロ遅延マルチコアの話をしてきましたがWZetaは8bit CPUなので
性能が低すぎということがありました。家電のリモコンのようなものなら、
ともかく8bit CPUではアドレスが狭すぎであることが最も問題であるように思っています。
そこで性能向上とアドレス拡大をしたWZetaの16bit化ということになります。
マルチコアのCPUを作るためにキャッシュメモリを介在させる必要がないため、
非常に小型のSMPが作れます。複数のタスクが常に動作するIoTアプリでは、
1コアよりも複数のコアのほうが、設計しやすく、信頼性が高い。
知らない人もあるかと思うので言うのですが、キャッシュメモリはトランジスタ数を
多く必要とします。キャッシュ無でSMPを構成できてゼロ遅延による効果が効くので、
16bit化WZetaは製造原価が安くて高信頼、高性能というものになる、と思います。
これを潰すと世界的な損失になるかもですよ。産業スパイをどうにかしてください。
昨日の日記、「8bit CPU WZetaの16ビット化について」
いまのところ8bit CPU WZetaを搭載したパソコン WZ-660の開発を急いでいますが、
WZetaを16bit CPUにすることにも関心を持っています。
効率がいいように見えている8bit CPU WZetaの命令セットですが、
8bitのコードサイズのまま16bitになるため高効率が期待できるから。
ただし最上位ビットの高速モードは使えなくなるため、この点は、効率が下がります。
WZetaのコーディング作業を連日やっていますが、意外と、この高速モードは性能がでます。
16bit化されたWZetaもトランジスタ数あたりの性能に特化しているので重量級の16bit CPUには
性能で劣ると思いますが、アドレスが広くなって、使い易くなっているので使えそうです。
WZetaは変則的で効率がいいので、どうしてこの発想ができたのか、
検証して知的好奇心を満たすことにも使えると思います。
産業スパイの想定質問に毎回、日記を書く必要はないと思ったけど、
日立は大きな会社かもと思うので補足をします。
日記「2003年ごろの日立のパソコン撤退話」
日記には僕が日立のパソコンからHPのパソコンに切り替える会議に出席したことを書いている。
この会議を日立が撤退を決断する会議だと思ったのかもしれないけど、
そうではなくて「日立のパソコンにはTPMがないし、TPMを準備するには半年の時間がかかるから、
HPのパソコンに切り替えます。」
という宣言を東工大修士卒の日立製作所員がした。
そしてTPMが準備されることもなく、そのまま日立、パソコン事業撤退となった。
会議の場所は新川崎駅前にあるツインタワーの東側。
セキュリティソリューション本部内にある打合せルーム。
西側のビルは外部の来客、東側は日立内部で使っている感じだった。
その東側のビルの一等地にセキュリティソリューション本部あった。
僕はHPのパソコンのTPMを調べる仕事をしていましたが、会議には参加しただけ。
ICF3 (1999年)は世界一高速なRSA暗号の暗号プロセッサです。
RSA以外にもハッシュ関数のSHA-1を実装していました。
このSHA-1は僕がアナログ電子回路シミュレーションをしていた時代、設計をやりたいという想いで自宅で
密かに設計していたもの。まさか本当に暗号装置で採用されると思ってなくて近所のコンビニのコピー機で、
設計図をコピーしていたというエピソードもある。この設計図を元に、日立の関連企業から
僕のいた東大卒の多い設計部に来ていた菅野くんがICF3(1999年)に実装、製品化をした。
この菅野くん、ICF3の製品化後、次の開発のための社内の打合せで「状態遷移」
を理解していないことが露呈した。
そんなやつに開発を任せられるか、という雰囲気になった。
頭の良い人は「状態遷移」くらい学校で勉強していなくても直観でわかるのです。
菅野くんは無名の大学の修士卒です。
言いたいことは、頭の良い人を登用、そのコストを計上すべき。
その部分を文系は、自分たちの取り分だと思って、やりすぎている。
僕は頭の良い遺伝子の子供を日本のトップが生産した人間かもしれない。
僕は日大卒の父親に託され、それを知らない僕は、成績を改竄されていたことに気づいていなかった。
頭の良い人の成績を改竄して、(トップが)自分たちの取り分にしていた疑いが持たれている。
補足
当時の実装技術の問題だと思うのですがCPUの専用バスに接続されるICF3はCPUのクロックと同期する必要があった。
このため僕の設計図のままでは高周波数にして性能を出すことができなかった。
そこで菅野くんが修正して製品化している。
現在のFPGAのクロック技術では非同期の実装もできる。当時の技術の問題というよりは
同期のメリットの方が大きかったのかもしれない。
NISTが耐量子暗号を選考している。今年のはじめにRAINBOWで攻撃方法が発見されたことで、
RSA暗号、すなわち僕のSnakeCube が見直されつつあった。
今回はSIKEで1時間で鍵回復できる論文が発表され、
日本の研究者によって245秒が確認された模様(ツイッターのTL上にあった)
簡単に言うと「SnakeCubeを開発しないとマジやばいことになる」 ということになった。
僕の言うことを国民が聞いて入れば10分の一くらいの税金で済んだものが、
10倍の税金を払った上に延命措置という状況になるのかも。
国の研究機関の人の報告がないと動けないのですから。
延命措置だから10分の一で通るように、調整できなかったのかと思う。
SnakeCubeは世界一の巨大整数の四則演算プロセッサなので、将来、応用は期待できるから、
延命措置しかできない、ということではない。
僕に地雷を踏ませるように誘導してくる工作員も多い、SIKEのニュースも良く見ると、、、
自作自演っぽいように読める記事がある。しかしこれが、たとえ自作自演であっても、
重大なニュースを全世界に発信する必要は、あったかもしれない。
この国のトップは自分たちの言う通りにしなければ、あれこれいじめをする。
このトップが下手くそで国民が迷惑している。
発明を活かして大きな利益を生み出せる状況にあっても、
国民を苦しめて利益を出す方法しか持っていないトップは、交換時期かもしれない。
もう一点、国民目線で言うと、暗号ハードの開発の意義には、
経済レベルの安全確保と、国防レベルの安全確保がある。
この違いを注意深く見ていないと、経済レベルの安全確保に莫大な税金を使わされた上に
国防レベルの安全は確保されず、後々、泣くことになる。
これには国民が意識的に努力しなければいけないけど、
日本人が北海道のアイヌ民族のようになっても困らないかもしれない。
僕はこの国に冷遇されたので子供がいないからアイヌになっても困らない。
国民が僕をもっと助けつつ、
国民が頑張らないといけないのかもしれない。トップの業務改善なので。
WZetaのだいたいの予定は、WZetaのCPUはオープンソース、
WZetaを搭載したパソコンの規格もオープン。
BIOSファームで儲ける仕組みを計画。
ただしシングルタスク版のBIOSファームは永久のフリーウェア宣言をして普及させることに力を入れる。
つまり規格に準拠したハードを作ってフリーウェアのBIOSファームをダウンロードして
組込めば互換機として売れる。まだ正式なことを言っているのではなくて、
WZ-660の仕様を変更したためディスクリートのWZ-660互換機を考えていた人には、
影響しそうだと思ったので、この日記に書いてみることにしたのです。
小型のFPGAはCPUコアのみで基板上にSRAMを配置して互換機にできるのではと思っています。
VRAMを2面もつ仕様にしましたが、アプリケーションによっては1面だけで良いもの
もあるので2面もつ実装が難しい場合は、1面だけという互換機もありのような気がしています。
アプリを開発する人はVRAMを2面使っている場合は2面使っていることを明記すれば良い。
レガシーな8bitパソコンでは、良くあることなので、良さそうな感じです。
前回の日記の続き。
画面のチラツキを無くすためにはデータメモリ上のVRAM領域を2面持つ必要がある。
WZetaは最大64KBまでのデータしか扱えない。320x240 16色は37.5KBの容量なので2面持つことはできない。
レガシー8bitパソコンではデータメモリの後半32KBをバンク切替する方法が良く使われている。
32KBだと320x204 16色になるので妥協するか、どうかで悩んだ。
VRAMエリア限定の37.5KBだけをバンク切替する都合の良い実装が可能かどうかを模索。
38KBのバンク切替ならFPGAでは可能かもしれないという結論に達した。
これに伴ってVRAM先頭アドレスが$6A00(h)から$6800(h)になる。
これだとDIGILENT Arty S7-25のボードでも実装できそうな範囲になっている。
半導体不足でS7-25の在庫が少ないところが多いのが、少し気になるけど。
S7-25に実装できるものは、S7-50、A7-35Tにも実装できるので割高であることを覚悟すれば、
どうにかなる。
産業スパイがXilinxのFPGA専用なのか?ということを言っているようなので、補足すると
4KB単位のSRAMがあれば38KBのバンク切替はできるように思えています。
4KB以上のSRAMでも4KBとして使えば、いいので実装できるFPGAは多いと考えます。
ディスクリの基板で実装するには、かなり厳しいかもしれない。
昨日、画面上で宇宙船のビットマップを動かしてみて、画面のチラツキが厳しいという問題を考えました。
eWZ-660の画面表示処理を別スレッドを起動して描写すると、チラツキがなくなって
安定表示されるようになったのですが、1コアの実機で別スレッドを起動することはできません。
対策のためeWZ-660の仕様変更を考えることにします。
まだ仕様を公開していないので、あまり問題ではなかったかもしれませんけど。
SNSを見ていると、度々、WZetaの16ビット化に興味がある人をみかけます。
WZetaは超軽量の8bit CPUとして設計されたため、命令セットに余裕が残されています。
これはあまり従来の8bit CPUには見られないことで、ほとんどが限界まで使い切っている。
CPU実験や教育用では限界まで使い切っていないほうが多いかもしれない。
ただ余裕として残された命令コードの最上位ビットは、既に3っつのモードで利用しているので、
16bit化すると、これら3っのモードが使えなくなる。そのうちの2つ、
パリティモードや高速モードは使えなくなっても問題はない。残りのデバッグモードについては、
デバッグで不便になることはあるけど、従来CPUには無かった機能です。
命令セットの16bit化について。いくつかコードを書いて、現状の8bitのWZetaの命令セットは、
そこそこ優秀だと思えている。
WZetaは16bit固定長の命令セットなので最上位ビットを除いた15bitの命令体系を、
そのまま16bit化したWZetaの命令セットに取り込みます。
WZetaの命令セットは8bitを処理するものですが、
最上位ビットが1の場合、
16bitを処理する命令にすれば、簡単に優れた16bitの命令セットになる。
そして先走って言うゼロ遅延マルチコアを作れる命令セットが実現できるという予想。
16bit CPUの必要性がわからない人はあると思うので説明すると、
8bit CPUではアドレス空間が狭く、日本語テキストエディタの
アプリケーションを作成することも、困難。
性能を維持したままのアドレス拡張が難しい。
そしてWZetaの 16bit化は、効率を保ったまま可能だとうことです。
互換性の全くない命令セットではありますが。
すみません、WZetaの16bit化を検討するための十分な時間をとっていないので、
上記が正しいことは、保証できません。
国の産業を考える研究所の人のツイッターをウォッチしているのですが、
TLにTPMの話があったので2003年ごろの日立のパソコン撤退話をしてみる。
まずTPM開発能力のある僕を撤退側に移転、日立のパソコンにTPMがないことを
理由にHPのパソコンに切り替える会議に僕が出席。TPMは1ドルだけど、
パソコン全体でHPは儲けたということ。そして東大の博士がHPに入った、、、
僕を含めた日本がTPMを開発すれば、僕の発明を使って
非常に大きな鍵長のRSA暗号が可能になるので、
世界に売れて、RSA暗号の延命で世界中の人が安価なシステムコストを
享受できる、可能性はある。
IBMの量子コンピュータは「モジュール」の数を増やすことで、
量子ビットを増やしている。僕は量子コンピュータについてはニュースで
知ること以外はないけど、もしかすると、複数モジュールを使った場合、
1モジュールの量子ビットを越えるRSA暗号が解読できないとなると、
1モジュールの量子ビットの数を大きくするための、技術的なブレークスルーが
あるまでRSA暗号で安全になる。これが本当なのかは、僕には全く分からない。
僕に必要なのは、国産TPM開発で、税金を使うことになった場合、
体を壊す攻撃をする団体からの防御など、いろいろ。
面倒だと思いますが、国の重要な問題なので考えるべきかと。
昨日、作成した92x60の宇宙船のビットマップをeWZ-660の画面に表示させて、
動かしてみました。
320x240 16色の画面に92x60の宇宙船は、少し大きいかもしれない。
動画はWindows11で動作しているものを録画しています。
Linuxでは画面のチラツキが多くて動きのあるゲームは、ほぼ無理であることが判明。
Windowsでは、そこそこ動作していますが、やはり大戦略やノベルゲームが推奨のような気がします。
Win32APIも検討の余地があるかな。
VIDEO
グラフィックBIOSの実装ができたのでテスト。
1ドットの点を描くこと、横線、縦線、ビットマップを描くことしかできない小規模なグラフィックBIOS。
ビットマップは8番の色を透明色にしているので、背景に重ねることができます。
重ねる前の背景をメモリにコピーする機能もあるので、元に戻すこともできる。
ゲーム用の素材は「ゲーム アルゴリズム まるごと図鑑」廣瀬豪(著)から、
飛行機らしきものを取り出してみた。
WZ-660は16色なので、ビットマップエディタで色を調整。
ビットマップエディタは、何でも良かったのですが、昔購入したKH IconStudioです。
左がオリジナル、右が調整したもの。周囲が黒いのは透明色に黒を割り当てているから。
グラフィック用のBIOSを作っています。
突然、昔話です。
1989年ごろのパソコン、東芝DynaBook(現、SHARP子会社)のBIOSには点を1ドット描くものしかなかった。
各社が、いろいろなグラフィックのハードを作っていて、あまり共通化されていなかった。
ゲーム専用機だとスプライトというものがあるのですが、スプライトを参考せずに、
独自にビットマップを描くBIOSを検討中。
WZ-660では1ドットに4bitが割り当てられているので0~15までの色が使えます。
ビットマップのデータで8番の色を透明色にすれば、いいかもと思ってコードを書いた
のですが、もう少し高速なほうがいいかなと考え、ビットマップデータでは8~15までの色は
透明色にすることもできるようにしているところ。
既にBIOSのコードは、アプリのコードとラベル、変数名がコンフリクトしないように隠すことができています。
アプリのコードで共通化できるルーチンはゲームOSとして、独立させて、
変数名がコンフリクトしないように隠すこともできます。
ゲームOSというか、ゲームエンジンといったほうがいいのかも。
昔、アリスソフトというゲーム会社がSystem3.5というゲームエンジンを作っていて、
Chromeブラウザに移植できないかを考えいているうちに、あっという間に、
他の人に抜かれたという記憶はあります。
僕がゲームエンジンを作る暇は、あまりないので、興味がある人は、連絡をしてもらうと、
面白そうな企画なら、考えるかもしれない。要は、使う人が、それなりの数があるかとか。
320x240 16色の画面で、シングルタスクなので、大したことはできないし、小規模になるから、
気軽にやってみることができるというのは、あるかと。
(シングルタスクのBIOSは永遠のフリーウェアなので、手伝っていただいてもお金が出るわけではありません)
WZetaのSDogコアはコア間の通信遅延ゼロの効率的なゼロ遅延マルチコアを作れます。
重要なのはゼロ遅延マルチコアが作れるかではなくて、効率的か、どうかです。
ゼロ遅延マルチコアは、IntelやAMDでお馴染みのマルチコア、SMPとして動作しますが、
複数のコアをまとめてVLIWのコアにすることができます。
これまでのOSにSMPやVLIWに変更する機能を持ったものは、当然無いので、
新規に作る必要があります。そして僕は、このあたりで儲からないかを考えています。
儲けが大きいと思っているわけではなくて、泣く泣く安全策をとろうとしているのです。
ハードを含めて儲けを大きくすることを捨てているわけではありませんけど。
OSといえばWindows、Linuxなどがあるのですが、
技術が良くわからない人たちにとっては、これらの有名どころの人たちが気になっているようです。
WZetaは軽量な8bit CPUなのでデータメモリの最大が64KBであり非常に小さい。
必要な機能を詰め込んでOSと呼ぶ、みたいなものになるのかと思っています。
もう一つの流れとして、僕のゼロ遅延マルチコアを32bitに派生させたものを考えている人は、
あるのかもしれないと思っています。8bitが成功するかもと思っているのは小型の
SMPという用途だけで実用性になるからです。32bitでは、やや難しいのかなと。
神風、正しくはKAMIKAZEかもしれない。2017年ごろだったろうか、
GMOがビットコインのマイニング半導体チップ、KAMIKAZEを企画していた。
ビットコインはSHA-2だけど、一応、僕は前世代のSHA-1の設計実績があって、
IBMの5.5倍という性能だったから、GMOに話をしてみたことはある。
一応、GMOから返事はあったと思う。それきりで終わりましたけど。
GMOは暗号プロセッサSnakeCube
を考えられる企業のような気がしています。最近、メールの調子が不調であることが心配。
僕が日立を退職した2005年、あるSONY社員からメールがあって、
返事をしたのだけど、その直後、サーバーのメールシステムが故障して、
連絡が取れなくなった事件がある。
スマホの電源が、タイミング良く落ちることが起きているので、
ちょっと心配になっています。もし良ければ、直接、ご連絡いただけると幸いです。
先々月までGMO理事の首藤先生は、僕の4学年下なので学内ネットで良く見かけているのですが、
ほとんど、話をしたことはないのです。
リセットから1ms単位で増加するタイマーの値を読めるBIOSコールの実装。
このBIOSコールを使って1秒単位で動作する時計を作ってみました。
図をマウスでクリックすると拡大されます
僕の作業速度が遅いと感じた人があったのかもしれない。
産業スパイによって頭や体中に、足枷をハメられているために、本当に作業速度が遅くなっています。
イライラしている方もあるかと思いますが、産業スパイをどうにかしないといけないと思っています。
ついに生活に支障をきたすことが起きた。網膜に映像が映っても、認識できない。
たとえば机の上に消しゴムがある映像が見えても、消しゴムと認識できない。
これ以上、やれば暗殺に近くなるので、産業スパイを止めることはできないのだろうか。
デベロッパー向けの年間99ドルのサブスクリプションを更新しました。
今回で3年目になるのですが、過去、2年の実績は1度、試しに使ってみただけです。
ほとんどアメリカのソフトウェア代になっている。
本当はXilinx Vivado開発環境のために購入しています。
インターネットの支払いで利用しているクレジットカード型のプリペイドカードauPAYの
残高を確認した。ウェブサイトのページで入金の履歴を表示させるために更新をさせて印刷をした。
画面上では正しく更新されていたが、実際に印刷されているものを見ると、中途半端に更新されて、
入金履歴が印刷されていなかった。
auの人に連絡した方が良いかなと思っているのは僕のauのスマホが、勝手に電池を消耗して、
電源を落としてしまうこと。以前は、勝手に電源を落とすだけだったけど、今回は、
きちんと電池をゼロにして電源を落としたようです。
数日前、電池の残量が少なくなっているのを確認したので、充電したばかりだった。
何者かが、故意に電池を消耗させた疑いを持っている。
何者かが、かなり強力に僕への通信を、あれこれ遮断している。
昔の話ですが、日立製作所を退職するときにIBMのCMOS情報の秘密を守る誓約をしたけど、
このCMOSの意味は、半導体テクノロジーのCMOSではない。ところが、警察に、
それを話すと、警察は勘違いをして、重要機密だと思うことが可能なのだ。
また、警察を騙して、通信遮断をしているのかもしれないと思った。
自動車の制御のようなリアルタイム処理では、センサーからの入力に対する
応答時間の限界値を越えないように設計する必要がある。
このために無駄に高性能なCPUを購入することになる可能性は良くある。
WZetaは、この問題をスマートにマルチコアで劇的に改善する。
世界初のゼロ遅延マルチコアは製造原価が安価で、
地球資源に優しいCPUになるかもしれない。