トランジスタ数を少なくすることを第一に考えてきたのですが、
実際に多くのデバイスで使われるためには、速度の違うメモリに対応しないといけないようなので、
考えてみました。WZetaの最初の実装SDogは全命令4サイクルで実行します。
各命令にS0、S1、S2、S3のステージがあるのです。S0とS2はプログラムメモリへのアクセス、
S1、S3はデータメモリへのアクセスということが決まっているので、RAMの2倍遅いプログラムROMを使う場合、
S0、S2を2サイクルにする、つまりステージカウンタのインクリメントをS0とS2では一回、
休むくらいの超簡単な改造で、遅いROMをWZetaに付けることは可能ではないかと考えています。
つまり1命令6サイクルで実行されます。
内蔵SRAMと外部SRAMの速度差は、S1、S3のアドレス線の値を監視して、ステージカウンタを止めるような、
簡単な改造で、うまくいくような気がしています。
とりあえずSDogはXilinxのFPGAに実装されBRAM、1個で動作するものになると思います。
2KBのBRAM1個で1KB以上のデータを扱えるWZetaはPicoBlazeより利用範囲が広いかも。
速度差のあるメモリへの対応は、もしやるならSDogではなく別のコアを作ると思います。
WZeta、技術的には、いろいろできそうな感じなのですが、
税金プロジェクトではご利用できません。
これはWZetaのライセンスのところに書かれています。
また僕に迷惑をかけるのが仕事みたいな人も多くいて、
僕に迷惑がかかるような使い方も不可です。
一見僕の意向に合うような見せかけで、大迷惑がかかる使い方を、
考えてくる人が大勢いると思っています。
このため注意深くなっていると思いますが、ご了承ください。
僕をいじめることが、この国にどのくらい影響するかも、考えてもらえるといいような。
やや雑談だと思ってください。ダンマリを続けるよりは、思ったことを書いておこうかと思ったのです。
WZetaが他のCPUに似ていれば、WZetaの海賊版を勝手に作れると思う人がいると思っているのです。
子供の頃からポケコン(CASIO FX-502P、SHARP PC-1251、SHARP PC-1480U)などで遊んでいるし、
大学のときに情報処理試験2種、1種に合格していたりするのでハード非依存なCPUも少し勉強しているのです。
加算結果のキャリーを保存するキャリーフラグとか演算結果がゼロなら立つゼロフラグとかが
似ているとか、そういう、意味のないことを言う人のことまでは考えません。
例えばPC-1480UのCPUであるSC62015(ESR-L)はSHARP独自のCPUらしいのですが、
ファミコンでおなじみの6502に似ているようにも見える。
WZetaはどのCPUとも似ていない。アセンブラのニモニックが情報処理試験のCASLに似ているようにも
見えるのですが、WZetaのA、B、CレジスタはCASLのGRレジスタほど汎用レジスタではなく、
Aは演算、Bはインデックス、Cはループのように役割が決まっています。
そしてデータメモリの先頭から126バイトをレジスタのように使うことが容易な命令セット
になっています。またスタックのハードはありません。
小規模なシステムにスタックハードはなくても、なんとかなるのと、
ソフトウェアによるスタックを作りやすくする命令セットになっているのです。
ポケコンや従来マイコンではメモリの拡張性を考えたアーキテクチャになっているので、
内蔵メモリと拡張メモリの速度差を考えなければならなかったのかと、思っているところです。
WZetaはメモリを拡張した場合、最も遅いメモリに周波数を合わせる必要があります。
これではポケコンなどの用途では、メモリを拡張したら、これまでのプログラムが遅くなったみたいな問題が
発生してしまいます。
トランジスタ数を限界まで削ることを決めたWZetaは途中からユーザがメモリを拡張することまで、
考えず、メモリ1個でシンプルな構造になっています。
WZetaは実用性のある命令セットで初めて命令コードの逆順が可能な命令セットになっています。
(最大128KBのプログラムメモリ、64KBのデータをアクセスが可能で、ある程度、性能面も考えられた命令セットになっていること)
この逆順が可能な命令コードをきっかけに、作り始めてみると、
1命令4サイクル固定のハードが実装面で、思ったよりも、これまでにないCPUになるという予感をさせている。
そして独自性のあるCPUです。
追記
速度差のあるメモリに対応しないのかと、うるさく言われたので考えました。
WZetaの最初の実装であるSDogは1命令4サイクル固定で単純な構造です。
毎サイクルメモリにアクセスする仕様なので、遅いメモリのアドレスにアクセスした瞬間に、
クロックイネーブルを必要なだけ止めることをすれば、簡単に実装できるかも。
つまりポケコンなんかも、いけるかも。
4行表示の液晶ディスプレイを持つ、銀行の振込で使えるような認証デバイスは、
超軽量8bit CPU WZetaの用途として面白そうかと思っています。
超軽量な命令セットですが剰余演算、RSA暗号、SHA-1(ハッシュ関数)など、
一通りの暗号演算のプログラムを書いてみて良好な結果なので。
トランジスタ数が少ないCPUなので製造原価が安いことが期待できます。
RAMとのシリアル転送が極めて効率的なところに注目している人も
あるようで、銀行の認証デバイスのように大量に生産される機器向けでの
経済効果が見込める予想があるからだと思われます。
電卓用途まで含めて量産効果を狙うことはあると思っています。
ただWZetaは電卓で良く使われると思われる10進命令がありません。
日立の大型コンピュータにMP5600(国内向けの名称、この海外向けも売れたらしい)があったのです。
1996年の機種ですがCPUを日立製のものからIBM製に変更した機種でした。
当時、バイポーラからCMOSへの転換期でCMOSに舵を切ったIBMも、まだ性能十分ではなく、
日立のバイポーラが儲かっていた状態でした。
IBMのCPUに変更した新しい機種であるにも関わらず10進命令の性能が落ちたために、
野村証券に怒られたという話を開発部でも聞いています。
超軽量8bit CPU WZetaは命令を自作することが可能なので、
必要な10進命令を作ることがアプリケーションプログラマで可能です。
Z80の10進命令を調べましたがDAA命令と4bitシフト命令があるようです。
DAA命令は性能が必要なら256バイトのメモリを使ったテーブルで実装すれば高速です。
4bitのシフト命令は、8桁とか10桁のBCDをシフトするのに使われるみたいですが、
WZetaでは多倍長の1bitシフトは高速なので4回繰り返せば、あまり遅くないかもです。
10進10桁の四則演算をする仮想コプロセッサを作れば10進演算を多用する
アプリケーションでも、省メモリになると思われます。
既にスタックマシンの32bit整数の仮想コプロを実装して逆ポーランド記法に似た
アセンブラプログラムが動作しています。
趣味だけでなく、儲かることを目指して、いきたいですね。
やってみて失敗したという話は聞きません。故意に失敗するのは簡単なので。
追記
演算に使っているトランジスタは8bit加算器1個なので鍵長が長くなると楕円暗号でも、
性能が不足すると思われます。しかし暗号プロセッサSnakeCubeを追加すれば性能の問題は解決できます。
コストのほうも僕がSnakeCubeの利権を持っているので外部からIPを調達するより安価になると思われます。
WZetaの制御部分をverilogにしているところです。
状態遷移図で全ケースの動作を確認しています。
ハードマクロ命令実行中、ハードマクロ命令終了ビットが立っている命令を実行。
そのタイミングで割込みが来て、命令は分岐命令を実行している、という状態でも、
正しく処理できるようにしています。
思っているより、時間がかかっています。
産業スパイによる脳破壊攻撃を受けて辛い日々です。
内蔵や血管を痙攣させる威嚇も多く、たまに血が出ると大騒ぎという状況です。
SnakeCubeがパクられるのを懸念する人もありますが開発者の破壊による強奪では、
代替商品のメーカから避難を浴びるだろうし、
海外のメーカによっては勝手にコピーをするようなところも出るでしょう。
まともな値段にならないし、購入する側が整備しにくく、失敗に終わる。
オープンソースで公開予定の設計図です。クリエータがラフ画を公開するノリ。
念のために言うと、公開予定の著作物です。転載禁止でお願いします。
設計図を元にverilogに変換しているところです。
verilogにしたところが、茶色のマジックで塗りつぶされています。
ハードウェア記述言語を使って設計している人もあると思いますが、
僕は論理ゲートレベルの設計図を先に書く方法をとっています。
メリット、デメリットあるので、どの方法がいいとかは、ないように思ってます。
図をマウスでクリックすると拡大されます
随分と前から気づいていることなのですがChromeブラウザの挙動が
オカシイ問題を、もしかしてGoogleが知らないのかと思って書いてみることに。
最近は、なくなったのですがツイッター広告を購入しようとすると、
ボタンが押せなくなったり、フリーズしたことが数度あった。
とにかくChromeブラウザがサイト上のボタンを隠したり、DISABLEにしたりしている問題を
Googleが知らないのなら、日記に書いたほうがいいだろうと思ったのです。
わかって欲しいことは、僕に張り付いて問題を起こす人たちが、
最も自分にメリットがあるところにお金を振り込ませるように誘導している。
そうでない営業の人もいると思うのですが、悪い人たちと区別を付ける方法が、
僕にはなくて、少し困っている。悪いことしませんと言わない人は、
悪いことする人だという可能性があることを考えながら見ている。
verilog実装開始。旧WZetaも1命令4サイクルなのですが最後のサイクルでRAMに書き込みを行って、
次のサイクルで読み出す可能性があるため性能が下がっているかもしれなかった。
新型のSDogコアは書き込みの次のサイクルでは読みださないことが決まっているため、
もしかすると、これまでより周波数が上がるかも。
旧WZetaは公式サイトにあるように217MHzを記録した。Xilinx PicoBlazeは133MHz(1命令2サイクル)。
新型WZetaの周波数がどうなるのか、実装してみないとわからないが、もし周波数が上がって
266MHzになると1命令4サイクルといっても1命令2サイクルのPicoBlazeと変わらないということになる。
実装して周波数が下がる可能性は、あるかもだけど。
産業スパイによる遠隔攻撃によって体調や頭が悪くなって、作業速度は遅いですが、
この8bit RISC-Vみたいな新型WZetaのリリースは楽しみにしているのです。
WZetaのシミュレータ(C言語版)でSHA-1を演算するプログラムができました。
"abc"の3文字の入力に対して正しい計算結果を出力しました。
WZetaは通信、暗号を主とした汎用のCPUなのですが、WZetaの命令セットで
SHA-1などのハッシュ関数の実装も、問題なく可能だということが確認できました。
仮想コプロセッサ(Vicopoid)は32bitのスタックマシンです。
SHA-1の演算には仮想コプロセッサVicopoidを使います。
逆ポーランド記法のようなハードマクロ命令の命令列によって数式を演算します。
5月17日の更新に続いて2回目。キャリー付きの
シフト命令しかなかったのですが、普通のシフト命令を追加しました。
ここのところマイコンの50週待ちなどの半導体不足ニュースが、あちこちで見受けられ、
本当に半導体不足になっていると思っているところです。
WZetaの設計、開発の追い風になりそうです。トランジスタ数を極力少なくした
WZetaは製造原価の低減に役立つと思います。産業スパイが、既存の製造メーカが怒り出すことを
言っていますが、WZetaは制限の緩いオープンソースですし、
WZetaの新しい技術に期待している人も、いると思っているので。
WZetaは超軽量プロセッサの欠点を補うため、
利用者が命令を定義できる珍しい機能があるのです。面白い使い方が考え出されると思っています。
現在、僕自身が仮想コプロセッサなるものを作っています。
CPUの機能検証やアセンブラのバグ対策という意味合いが多いのですが、生産性の向上は見込めそうです。
要するに僕を潰さないことを考えていただければと。
SnakeCubeも、なるべく早く再会したいと思っています。
作業ができなくなるギリギリの線よりは、産業スパイによる攻撃で、くたばっていました。
おかげで日記に余計なことを書く時間が増えたのかも。
あまり進んでいませんが、仮想コプロセッサVicopoidの実装中。
僕の言う数学の才能について興味を持った人もあったでしょう。この話題にうるさい人も多い。
学区で3番の高校は阪大卒の先生が多いのですが、
その数学の先生が阪大卒だったかは、覚えていませんが、
「覚えたことは忘れる。そうはいっても受験では問題集でかっちり固めないといけません。」
そう言う先生がいらしゃった。
覚えないで覚えられる才能が示唆され、それが受験では十分に発揮されない。
ということだと思う。非常に的を得た言葉で、名言として受け取っています。
人によっては外部装置によるチートと勘違いしてきた人がいたようなのですが、
その才能がないと、そう思えるのでしょう。
入ってくる情報の記憶のされ方が、普通の人と少し違う。
教えられていないことへの対応能力に差異が出る。
大学入試の1次試験と2次試験で偏差値がかなり違う人がいる。
僕も2次型でしたが、1次2次でも違いが見られる。
まして受験では教えられていないことへの対応能力を測ることは困難。
2次の点数で代替できないというのが、僕の説明。
追加。入ってくる情報の記憶のされ方という記述では、説明不足だったかも。
抽象的な表現だから、わかる人は、わかるという説明なのかもしれない。
輪郭のような記憶で全部を復元できるのは、無意識のうちに本質的な理解をしているから、
復元できる。記憶は常時、昆虫の複眼のような目玉で監視され、単眼のような精度はないものの、
条件の違う状況を管理する目玉が、多数あるというイメージか。
単なる長期記憶との違いを説明してみたつもり。僕の経験からの想像なので注意。
ここ数日の日記を読んでからのほうがいいかも。
僕の高校時代の数学の話。高校2年のときに大阪の駿台予備校で
数学スーパーコース(特類)というものが新設された。
東大医学部まで対応する最もハイレベルなコースだったが、試験に合格したので、
通うことにした。1回の授業で3問を教えるのが普通だったが、特類は2問だった。
難易度が高い。学区3番の高校の数学の授業とは、明らかに開きがあった。
高校の数学のテストで、駿台の解法を使って解いたら、女性の先生がテストを
返すときに、教職員の人たちとかけあって、正解にしましたと、みんなの前で、
言われた。漸化式を使った証明で解くべきところを、駿台の解法によって
証明なしに計算結果を出した。という事件だったと思う。
細かいことは、僕は忘れました。
証明無しに1っ発で答えが出る駿台の解法は、大学受験で出れば、
15分かかるところを、5分で解答できる。さすがである。
東大数学の事情もわかって数学の才能について語ることができるのは、
駿台の数学スーパーコース(特類)に入ったおかげかな。
昨日の日記について産業スパイ経由で反響があったので補足。
興味の無い人は読まなくていいです。
大阪府で一番の高校は北野高校だが、僕が学区内の2番目ではなくて
3番目の高校だったことを指摘された。
中学校の先生は授業中に全員に対して北野に入る人が副教科の
成績を持っていくことを言っている。結構、最初から言い訳している。
2番目の高校に入れるくらいの内心点だった。
自宅のすぐ近くに3番目の高校があった。地元志向ということで、
3番目の高校を選択する人も多かったと思う。
3番目の高校に入って成績トップを争うようになったのですが、ある日、親を通さずに、
僕に直接、中学時代の内心点を分けてもらったと言いに来た人がいた。
この結果、中学の先生の責任が軽くなるのかと、最近、思った。
中学の数学の先生に悪い点数をつけられています。
僕は、周囲の薦めに従って早稲田実業の受験問題を数学の授業終了後、
その場で解くようにお願いしました。先生(女性)は、その場で解くことができず、
ちょっとばかり恥をかいてもらうことになったようです。
嘘っぽく聞こえますが本当の話。
3番目の高校に入ることになったことについて、僕はどう思っているかといえば、
自転車で信号待ちがなければ5分という近さだったし、成績で学年トップ争いを
することになったので、有名人になり、とても良かったと思っています。
中学の音楽の先生が、盛んに授業中、「北-予-関」「池-予-関」
と言っていたのを覚えています。
1番の北野高校に入って予備校を経由して関関同立に入るか、
3番の池田高校に入って予備校を経由して関関同立に入るか、だと。
2番目の高校じゃないのです。
先生は、北野への受験資格は渡すことができても、、、ということを言っていたのだと思う。
参考までの話をすれば、この中学に時の総理大臣、中曽根氏が公式訪問したことがある。
テレビ放映もされているけど、よりによって弟が学級代表の時だったから、
弟が中曽根氏に代表質問するところが映っている。
この件、僕には偶然のようには、思えていない。弟は慶応大学の学部卒で、
僕が早稲田大学の修士卒だから、実は学歴は僕のほうが上だったりする。
不思議なのは、僕以外の家族は全員、学区1番の高校だが、最も高学歴なのは僕だという。
先月に公開した命令仕様に変更をいれました。
LDP命令、LDM命令を削除。ハードマクロ命令のオペランドに即値を使えるようにしました。
レジスタ間接の相対分岐ができるように分岐命令を改良しました。
相対分岐命令の位置から-128~+127の範囲で分岐ができたのですが、改良後は
-127~+127になります。オペランドが-128の場合はBレジスタの値を使うようにしました。
間接分岐ではBレジスタの値によって-128~+127の分岐が可能です。
MONOist(Yahoo)記事、
「非パイプライン構造1ステージ化RISC-VプロセッサのFPGAのCPU回路効率を改善」について。
僕のICF3-Zに似たような技術に見える記事です。
普通の人には、わかりにくいと思ったので、説明をすることに。
記事に、どうやって実現をしているのかが、全く書かれていなくて、
僕も記事しか読んでないですが、僕には、それで十分でした。
ICF3-Zは1999年のICF3と同じ方式が使われています。
ICF3は1命令サイクルを1ステージ化をするのに命令セットを水平コードにしているのです。
RISC-Vの命令セットを維持する記事の技術とICF3-Zは全く実現方法が違います。
ちなみに開発中のWZeta
SDogコアは1命令4サイクルなので記事の技術の影響は無いと思われます。
記事の最後に今後、非同期ASICになっていく話が書いてあったのが、
印象的でした。20年前、日立の幹部候補生が集まると言われている研修で、
当時、東工大の南谷先生の授業があったときに、僕が
スカウトされそうになったのですが、南谷先生の非同期式プロセッサは有名だったと思います。
記事の技術は、特許らしいので、ICF3-ZやWZetaに流れるエンジニアは、
いると思いますが、ICF3-Z、WZetaが立ち上がる必要があります。
頭がいい順に1番の学校に入っているという仮定が、既に成り立っていなかった。
僕の経験から、そう言える話をしてみる。
先に僕について言えば、親と全く異なる遺伝子であり、
数学の才能を持っていたが、速さと暗記の能力のほうが有利な受験では、
今一つだった。という理解をしている。
中学のときにマイコンで遊び過ぎたために受験に失敗しているのではないかと、
思った人があるかもしれないが、そうではない。どちらかというと
才能が受験に合わないためにガリ勉しなければ、いけなかった。
周囲から見れば、才能がない奴がガリ勉して成績を良くしているという
評価だったのかもしれないが、真実は逆で才能が受験に合わないということだ。
今日の本題に戻ると、どういう人に1番の学校に入ってもらいたいか
ということが、順番に変化をもたらしている。
1番の学校に入って欲しくない人は足を引っ張られるし、
できる後輩はいらないし、1番の学校に入ったことぐらいで、
人心の掌握ができる、僕にとっては面白味のない人材が1番の学校に入りやすい。
僕は小学校6年になるときに東京から大阪に引っ越しをした。
誰を大阪府で一番の高校、北野に入れるかというところで落ちやすかった。
それでも成績が群を抜いていれば、北野に入ることはできたろう。
実際、中学2年のときに転入してきた同級生の2人が、
2人とも北野に入っている。そういえば弟も北野に入った。
僕は受験に合わない才能の問題で当落のギリギリだったから受験資格を
得られなかった。
中学の同級生で北野高校に入った人は9人、大学受験でどうなったかと
言えば、入れなかった9人のほうが平均値でいい大学に合格しているの
ではないだろうか。北野に入った9人の進路情報は入ってくるが、
そうでない9人の情報は完全ではないけど、わかっているだけで、
それが言えそう。これが根拠
ちなみに僕が北野高校に入っていれば、あの元大阪知事、
大阪維新の会代表(初代)で有名な橋本氏と同じクラスに
なれたかもしれないということを友人から聞いた。
その友人は僕と同じ年で北野に入って、僕と同じ
早稲田の(現)副総長の研究室に入った。
北野に入っても、入れなくても、同じ研究室になっている。
早稲田大学理工学部電気工学科に現役合格し、入った直後は、
教室の最前列の真ん中に座ることが多かったので、
成績優秀者とお知り合いになることができたのだが、
東工大に落ちるくらいのほうが、トップクラスの成績なのだ。
頭のいい順に東大の受験資格を得られていないことが問題なのかもしれない。
僕の国立大学受験も、試験の最中に腹痛を起こして、途中棄権した。
国立大学が人をえり好みしているのか、受験産業の餌食にされたのか。
一番の学校に入っているか、否かは、頭のいい順ではない。
現代では、腹痛よりも、完全にバレない方法で頭を悪くすることが可能。
東大の価値下落に歯止めをかけるには、どうすれば。
必要悪を超えない頭を悪くする光線の利用が求められる。
4月14日の日記で故障を報告したパソコンが
再び起動しなくなった。前回は安い中古のATX電源に交換して修理しました。
今回は新品のちょっと高めのATX電源に交換しました。昨年末、秋葉原の通販店で購入したもの。
今回の件も産業スパイによる妨害ではないかと考えています。
目は辛いし、頭はハクチになりそうだし、体は痛い。
動けなくなることもあるが、ここ数日は、そこまでいかない。
しかし産業スパイによって時間は失われている。
以前、FPGAのSSLアクセラレータを開発して、その開発データを元にICカードを作れば、
開発にかかる税金が安くなるだろうと言いました。
FPGAによるSSLアクセラレータの開発が遅れたことによって税金が膨れる可能性が
あることは、気に留める必要があるように思います。
産業スパイの転職先を考えてもらえればと思います。
C言語シミュレータでWZetaの命令セットを使ったプログラムを始めました。
より良い命令セットにするため命令セットの更新を検討しています。
LD命令とBレジスタのインクリメント、デクリメントを同時にする複合命令は、
使いにくいため削除する方向です。
C言語シミュレータの開発が進みハードマクロ命令が実装できました。
動作検証のため簡単な仮想マシンを作ってみることに。
開発の都合、仮想マシンの名前がないと困るので、名前を考えるのに1時間以上使いました。
特に知ってもらいたいということでないのですがvicopoid (Virtual Integer Co-Processor-oid)、
日本名にすると仮想整数型コプロセッサっぽいもの。32bitの整数演算をするコプロセッサ。
性能加速ではなく省メモリが目的。完成しないかもしれないけど、ハッシュ関数の実装するのに使うかも
産業スパイによる遠隔攻撃で目が見えにくくなって作業が停滞していました。
OpenICF3のサイトの「いかがでしたでしょうか」
の文章に追加をしました。僕が謙虚に書いていることを、
さらに東大卒よりに解釈したがる人が大勢いることに、もっと早く気づくべきでした。
ICF3(1999年)の成果について事実を正確に書きました。完膚なきまで東大卒を叩きのめしました。
まだ厳密には1024bitのべき乗剰余までですが、これができればRSA 2048bitが可能になります。
何がいいのか?
超軽量8bit CPUの命令セットでRSA、楕円などの公開鍵暗号を高速&省メモリに実現できるということを確認できた。
C言語によるシミュレータは1024bitのべき乗剰余演算の演算が正しい答えを出力しました。
WZetaはトランジスタ数を少なくするために命令セットにはベースポインタを使った
アドレッシングがありません。このため実際に公開鍵暗号のプログラムをしてみると、
効率的な実装ができない可能性がありました。
べき乗剰余演算とは
y = g ^ x mod p
の計算式で示される演算です。y,g,x,pは1024bitのデータ。今回の実装方法は、
1024bitの事前定数R^2 mod pと1024bitのワーク領域を使います。
つまり1024bit×6のデータメモリと数十バイトのデータメモリで演算できます。
結論を先に言えば、公開鍵暗号で良く使われる剰余演算はデータの配置を工夫すれば、
ベースポインタがなくても省メモリに実装ができる。
6本の1024bitのうち、3本が256バイト境界、3本が128バイト境界に配置することで、
問題なく演算できる。1024bitは128バイトなので256バイト境界に配置すると
128バイト空いてしまうのだが、そこに128バイト境界のデータを配置すれば、
全く隙間なく配置できる。
WZetaは多倍長演算が得意な命令セットですが8bit加算器1個ではRSA暗号の性能は厳しいかもしれない。
1024bitのべき乗剰余演算のクロック数は、1050万サイクル。1サイクルは4クロックなので、
1050万×4 = 4200万クロック
脆弱性などの対策は入っていないので対策後、5500万クロックくらいと見積もる。
低スペックなマイコンのクロックは12MHz程度なのでべき乗剰余演算1回にかかる時間は458秒。
CRTを使ったRSA 2048は約1000秒弱(=17分弱)。
CRTを使わない場合の予測値は約1時間。
野外に置かれるIoTの場合、CRTを使わないほうが高いセキュリティになるので、
サーバからIoTにRSA 2048bitの署名を要求して1時間後に返事があるというシステムでも、
問題がなければ、超軽量8bit CPU WZetaのIoTが使えるように思います。
WZetaはマルチタスクが可能な仕組みを入れたつもりなので、
バックグランドでRSAを演算させならが、IoTのウェイトの多い通常動作が可能。
RSAは重いのでSSHの鍵として使うのは難しいですが、最近、エドワーズ曲線などの、
かなり軽いアルゴリズムも普及したみたいなので、そういった軽いアルゴリズムを使った
SSHの鍵は、有用な用途になるかもしれません。WZetaは40年前の8bit CPU規模の
トランジスタ数なので信頼の置ける製造メーカの選択の幅が広い。
スマホ、モバイルなどのサブCPUとしての用途も、いける可能性があると思っています。
最近のスマホ、モバイルのクロックは数GHzなので、マイコンの数百倍の性能が出せるので、
WZetaでも、実用的な性能が出る場合がある。メインCPUの脆弱性対策にかかるコストを低減できます。
一定以上の性能が出れば、トランジスタ数が少ないCPUが有利なのです。
僕が大手SNSで配信している広告が止まるなど、少し不穏になってきたので、
問題になっているであろう部分を、バッサリ削除しました。
既に何度かSNS上で話をしてます。1984年当たりで僕が中学生だった頃の話で、
分析が進んだので軽く説明をします。
BASICマガジン(ベーマガ)にICBMが上から落ちてくるのを迎撃するゲームが掲載されていました。
JR-100のゲームだったのを僕が所有しているSHARP MZ-2000に移植しました。
400字詰めの原稿用紙に説明を書いてゲームをカセットテープに記録して
ベーマガ編集部に郵送しました。翌月の発売日、胸を躍らせながら本屋に行って、
ベーマガを開くと僕が投稿したゲームは掲載されませんでした。
そして僕と同じ名前の人のゲームが掲載されていました。
他の書籍に掲載されていたテニスゲームの丸パクリの盗作でした。
鮮烈な想い出になっています。
この丸パクリの盗作の件は、盗作でしたというお詫びが、
後のベーマガに掲載されていたことも記憶しています。
ちなみに電波新聞社さんの社長さんは僕と同じ名前、平山さんなのだそうです。
現在の社長さんも、そうだとか、ツイッターでお見かけしてますけど。
分析が進んだと言ったのは、僕がベーマガに郵送したカセットは、
何者かによって、差し押さえられ、その「領収書」として、
丸パクリ盗作をベーマガに掲載した。
こうすればベーマガ編集部が没にしたことにならない。
C言語によるシミュレータが動き出しました。まだハードマクロ命令や、
割込みの実装は無いのですが簡単なプログラムは正しい結果を出力しました。
$PRINTはシミュレータ用の疑似命令です。Aレジスタの値を表示させる命令です。
### ADD TEST
MEMORY 2
MODEL 1/2
.PROG
LD A,1
ST %R0,A
LD A,2
ADD A,%R0
$PRINT A
EXIT
.EXIT
JR 0
.DATA
REG 1 R0
産業スパイの妨害が増加したため作業が進んでいません。
アセンブラとC言語によるシミュレータを同時に開発しています。
デバッグ用の機能を実装中。メモリの内容を表示する疑似命令を追加したほか、
アセンブラのコードからC言語シミュレータを呼び出すため疑似命令を追加。
デバッグの機能にはブレークポイントや、パスカウントみたいな機能を追加するのが
一般的かもしれないが、C言語呼び出しAPIを付ければ、
もっと複雑なデバッグが簡単にできる。ということを思いついた。
オープンソースならではの方法だと思う。
産業スパイによる遠隔攻撃を受けて、全身に筋肉痛に近い痛みが続いたため、
寝込んでいましたが、そこにスリープの魔法の追撃を受け、さらい寝ていました。
一般的なRISC CPUの命令はメモリアクセス1回のものが多いようですが、
WZetaは1命令の中でリード、ライト2回します。
これは命令コードを逆順にすることで効率化され、実装することができるようになっています。
次のような典型的な演算で、 3命令が2命令になるメリットがあります。
[mem2] = [mem2] + [mem1]
1命令1回の命令セット
MOV A,[mem1]
ADD A,[mem2]
MOV [mem2],A
1命令2回の命令セット
MOV A,[mem1]
ADD [mem2],A
なので従来のRISCと同じということでもない。WZeta以外でもCISC的要素を取り込んだようなRISCというのは、あるかも。
超軽量8bit CPU WZetaはファミコンCPU(6502)などの8bit CISC時代のCPUと比較できる規模のCPUです。
CISCはマイクロコードによってCPUを構成することが一般的ですが、
WZetaはワイヤードロジックで構成することを考えた命令セットになっています。
WZetaはRISCです。例えば6bitのオペコードの32~47(10xxxx)に加算、48~63(11xxxx)に
減算の命令を集めています。こうすることでオペコードの第4bit目を加減算の制御信号にすることができます。
要はオペコードの信号線から制御信号への変換が簡単になるように命令コードの割当をしています。
ここに勘が必要なのかも。命令が決まっていれば機械的にできるかもですが、
どういう命令にするのかも、同時に考えるので。
マイクロコードではメモリを使って任意の制御信号が作れるため純粋に命令を
詰め込むことができます。
ワイヤードロジックを考えた方法では純粋に命令を命令セットに詰め込んだ場合より、
効率が下がる場合もありますが、マイクロコードを格納するメモリが不要になります。
まとめ
WZetaはトランジスタ数が小さくなるように最初から考えられた命令セットです。
ASICのマイコンを作るのに向いています。
WZetaはXilinxのFPGAに実装することを考えたのでFPGAも効率的です。
TTLのCPUを作るには、部品点数を少なくするため
ワイヤードロジックの部分をマイクロコードに置き換えたほうがいいと思いますが
SDogコアについて言えば、全命令4サイクルで実行するのでオペコードから
マイクロコードが格納されるアドレスに変換するのはオペコードを4倍にするだけなので、
簡単にできそうな気がします。僕はTTLを作る時間は、なさそうですけど。
補足、既存のCISCの8bit CPUの命令セットでは、ワイヤードロジックで
実装することを考えてないはずだからWZetaで改めて命令セットを作り直すことで、
よりトランジスタ数が少ないCPUができる可能性がある、ということかも。
参考になる過去の日記
5月1日 超軽量8bit CPU WZetaの存在意義
4月24日 8bitCPU WZetaの命令セットアーキテクチャ初公開
4月19日 超軽量8bit CPU WZetaのメリット
同じ8bit CPU ICF3-Zのアセンブラは独特な命令セットであるためemacsの
asmモードが使えなかったのですが、WZetaはasmモードが使えそう。
これからアセンブラのコードをいっぱい作って開発したアセンブラのテスト。
産業スパイに眠らされて、あまり進んでいません。
体中の神経を刺激されて内出血しているかもしれない。
例えるなら舌の神経の75%が機能しなくなると、うまいもの食べても、
楽しくないということが起きてる。
メモリをロードして相対分岐してループするだけのアセンブラのコードが
アセンブルできるようになりました。
産業スパイによる遠隔攻撃で僕の頭の記憶の1次キャッシュは10分の一に退化し、
少ないキャッシュで過ごす生活体系になっているが1、2次のキャッシュが揮発する問題が起きています。
遠隔攻撃の問題は様々ある。頭の良い人からは、頭の良い子供が生まれることはわかっているわけで、
音もなくキャッシュを劣化させれば東大合格から脱落する。
日記に産業スパイの遠隔攻撃について書くことを良く思わない常勝システム組の方々は、
いらしゃると思います。僕への遠隔攻撃を無期停止すれば話をすることも、
あまりなくなるだろうと思っています。
アセンブラのコーディングが終了、デバッグはこれからですが、
先にシミュレータの開発に着手。WZetaはインデックスレジスタをベースとした
アドレッシングがないので、アプリによっては256バイト境界でデータを
配置する必要があるのですが、アセンブラに自動的に配置できる機能をつけました。
(256バイトの変数を使って演算するような場合など)
産業スパイもゴールデンウィークは休まず24時間営業なので
頻繁に体に軽く痛みが走るので困る。産業スパイ、とてつもなく違法なはずなのですけど。
本日、午前中にオンラインストレージMegaの転送容量(推定30GB)が
盗まれた件を報告しました。MegaはGoogle 認証システムを含めた、
いくつかの2段階認証に対応しているようです。早速、2段階認証を設定しました。
昨年、30万円のXilinx FPGA搭載PCIeカードAlveo U50を購入。
SSLアクセラレータを開発するべく作業を進めてきました。
産業スパイによる妨害が続き、日記で妨害について報告しても、
無償のオープンソースの開発なら世間は手助けできても商用では、
手助けできないという結論に達し、
まず無償のオープンソース(8bit CPU)の開発を先行させています。
SnakeCube
は技術的にマネはできないので僕が開発するしかないと思っています。
FPGAではなくASICという案を言う人はあると思いますが、
量子コンピュータの解読の問題もあり資金を集められないことや
国際的なテロに使われる懸念のため計画を潰される可能性が高く、
既にデータセンターへの配備が可能なXilinxのFPGAが良さそうだと考えています。
過去、大型コンピュータのASICの暗号チップを3個開発した経験から言うと、
出荷後、修正のできないASICは、設計、開発コストはFPGAと比較して
非常に大きいということを考える必要があります。また運用面でもFPGAが有利です。
RSA 2048bitの暗号プロセッサ×8個の構成でスタートして、必要に応じて、
RSA 1万6384bitの暗号プロセッサ1個という構成に変更可能です。
SnakeCubeではなくスケーラブルなアーキテクチャを採用するなら
効率がかなり悪くなるという問題が発生します。
図をマウスでクリックすると拡大されます
「ネットから盗まれるのはお金だけではない」ということかも。
オンラインストレージMegaのライトプランを先月、購入しました。
購入したにも関わらず、あまり使うことはなかったので、代わりに産業スパイが使ったのかもしれない。
転送制限は1TBなのですが33GBも使ったことになっていて、慌てて調べました。
最近、Microsoft OfficeのIDについても怪しい事件が発生しています。産業スパイがらみかもしれない。
ほとんどお金みたいなポイントについても数年前、トラブルが起きたこともあります。
銀行関係で末端で働いている方、トラブルに巻き込まれないように注意していただけると助かります。
僕に特有な問題ですが21年前(1999年)に世界の銀行関係に収めるような暗号装置を開発しています。
その後、日立の金融部門に転勤になって2005年に退職に追い込まれました。
僕は銀行関係の上層部に知られているだろうということ。銀行、信用第一だと思っているので、
銀行は安心、安全だと考えていますが、万が一のことが気になりました。
僕の周りで何故かベトナムの話題が多くなったので、不審に思ってベトナムについて、
ネットで調べてみました。理系なのでベトナムについて、あまり知りませんでした。
トンキン湾事件とか中学のときに習ったなぁと思いつつ
Wiki
を読むと、北ベトナム軍の哨戒艇がアメリカ海軍の駆逐艦に2発の魚雷を発射したとされる事件だとか。
思い出されるのは北朝鮮に暗号資産の技術を教えたことでFBIに捕まった人がいるということ。
「ははーん」
知らずにベトナム交流を始めると高性能暗号プロセッサの技術がらみで逮捕できるように、
ナビゲーションするつもりだったのかと。考えすぎかもしれないけど、リスクとして考えておく
必要がある。そして日記に書いておけば、ナビゲーション計画を諦めてもらえるかもと思ったのです。
SHマイコンの人たちでベトナムにいる人たちがいるみたいなので、
あまり神経質になることもないかとも思いました。
ベトナムで米国製チップがあまり好きでない人に結構、需要があったのだろうと推測。
前回の日記のおまけ。産業スパイは遠隔で変声操作が可能です。
声認証は、そのあたりを考える必要があるように思います。
産業スパイによる遠隔操作であくびが出たり、声帯を引っ張られたり、
様々な人体実験をされていますが、ついにガムを誤って飲み込む事故が発生しました。
速やかに産業スパイに遠隔操作を辞めてほしいものです。
傷口が開いて血が止まらなくなる恐怖におびえています。
過去に横隔膜を止められたことがあります。人生で最も焦った瞬間でした。
横隔膜が止まって気が動転していたので、どのくらい止まっていたのか、
わかりませんが、数分後に自然回復して、何事もなかったのように平常に戻りました。
トランジスタ数を少なくすることに重点を置いたCPUです。
最近の8bit CPUはレジスタ数を多くしたり、命令コードフェッチ用のリングバッファにトランジスタを使ったり、
トランジスタを多く使っています。このためTTLで作ることが困難であったりしますがWZetaでは
製造技術の低い装置で安価に製造することが可能になると思います。
実際の製造について、あまり詳しくないので、具体的なことを言うは難しいのですけれども。
16bit固定長の命令セットですが8bit単位で命令を受け取ることができて、
逆順で受け取ることで性能が上がる独自な命令セットになっています。
これは大きな特長であり競合する超軽量8bit CPUに対して優位を保てるだろうと考えています。
近年の技術的な進歩によってシリアル転送できるようになった結果、
データの双方向バスをリードとライトの2本の配線でできるようになっていると思います。
少ないトランジスタ数でデータの双方向バスを前提にしたアーキテクチャでは、
十分な性能が出ない、、、かもしれない。WZeta(SDogコア)は多少、
オーバーラップした転送をするのでメモリ性能を十分に引き出すことができるように思っています。
WZetaのSDogコアはSRAM1個でも動作します。アドレス線はプログラム、データ共通ですが、
アクセスのタイミングが固定なので、ROMとRAMの2個のメモリでも動作します。
8bit CPUのRISC-Vみたいな、あると便利なCPUだと思っています。
(WZetaの方針は税金を使わないことなので税金関係ない人とか)
開発が進むように妨害されないことを期待しています。
血が止まらない問題が完治していなくてヤバい。
ゴールデンウィークも休まず営業中です。アセンブラを開発中です。
従来WZetaのアセンブラはレジスタ番号固定で記述することしかできなかったので
コードの再利用が面倒という問題があったので変数名をつけて自動割当する機能を
作っています。なんとか便利に使えるアセンブラになる予定です。
一昨日の日記でARMチップ搭載のPCIeカードが故障したかのような
トラブルが発生しましたが、今日もインフィニオン製チップ搭載のルータが故障したかのような
トラブルが発生しCPU開発作業がストップしました。
本日のルータが動作しなくなった原因はACアダプタの故障と思われますが、産業スパイが手元の
スイッチをタイミング良く操作してACアダプタの故障であるかのように見せたのかもしれない。
連日、僕の人体に様々なことが起きるのだが、昨日、また頭痛が加わった。
今日の朝日新聞の1面に5Gを使って遠隔でチップを操作して人体を操るという陰謀論が掲載されていた。
僕みたいな目立つ人から産業スパイは撤退すべきではないかと。
技適マークのない無線LANのルータを破壊されたのか?と思った人がったのかも。
無線LANは過去、不正アクセスされたため、その対策として光モデム以外の
無線LANルータは1つも使っていません。技適のない無線LANルータを使ったこともありません。
7:00PM追記
バッファローのWifiルータの脆弱性が新たに見つかったという
ニュースが本日、あったようです。
影響のある製品のリストを確認しましたが、本日、故障したルータはありませんでした。
WZetaの開発がまだなので、まだあまり言えることではないのですが、
ICF3-ZとWZetaの両方で走る仮想マシンを作れば、両方のCPUで同じアプリが走ることになります。
どちらもハードによる仮想マシン支援機構があるのでソフトウェアだけで仮想マシンを実装するよりも高速です。
ICF3-Zの支援機構の制約は、奇数アドレスに分岐できないこと。
WZetaの支援機構の制約はICF3-Zが128命令定義できるのに対し64命令まで。
両方の制約を満たす仮想マシンを作れば、どちらのCPUでも動作する仮想マシンになる。
2バイト固定長の命令セットで上位バイトが6bitのオペコード、
下位バイトが8bitのオペランドという形式である必要があります。
C言語などのソフトウェアで仮想マシンを作ればARMやRISC-Vでも動作するというようなことが、
できるのかも。どのくらいのメリットが出るのかは、作る人が考えないといけないかもですが。
雑談。GIGAZINE記事
「コモドール64でビットコインをマイニングする猛者が登場、1ブロック解析にどれだけかかるのか?」
僕が中学生の頃、コモドールと言えばVIC-1001がBASICマガジンにゲームが掲載されていたので
知っていたのですがコモドール64は覚えてないのですが世界的には良く売れたマシンのようです。
CPUは8bitの6510、仕様を見る限りファミコンの6502と、ほぼ同じようです。
メモリが64KB RAM + 20KB ROMなのですが、ちょうど超軽量8bit CPU 新型WZetaでパソコンを
作った場合と同程度という感じだったので、ついつい、日記に書いてしまいました。
6502と言えば日本でもFPGAに実装している方も何人もいると思いますが、
OpenCoresにXilinxのFPGA Spartan-3Eで実装した
6502がありました。
Flop Flops: 93
LUTs: 978
WZetaは、まだゲートレベルの設計図が完成したところなので、正確な見積はできませんが、
Flip Flopsは130を超えるかもしれませんが、4入力LUTの数は下回る予想。
LUTの見積精度はあまりなくて0.5~1.5倍くらいの幅がありそう。
大雑把に言えば、6502とWZetaは同程度の規模と言えそうなので、
6502はWZetaの比較相手にちょうど、よさそう。
WZetaのFlip Flopsが多くなってしまったのは、利用者定義命令の機能や、
ゲート段数を減らしてクロックを高周波数にするための相対分岐アドレスの事前計算。
プログラミングはWZetaのほうが、しやすいと思う。
WZetaをXilinxのFPGAに実装したら、比較できる6502(6510)があれば楽しいかも。
頭や体にトラブルを発生させるよりパソコンにトラブル発生のほうが簡単ということかも。
ヤフオクで購入したジャンクのマザーボードですが良く動いていたのです。
SeaGateのHDDが、またもやスピンアップ音を繰り返しながら、読めたり、
読めなかったりするので、同じくSeaGateのHDDに交換。
その後、KingStonのSSDが認識できなくなったり、MarvellのSATA PCIeカードが
故障の原因であるかのように現象が発生した。
どうもARMのCPUが搭載されているようです。
結局、Windows10を再インストールするハメになって時間を無駄にしました。
超軽量8bit CPU WZetaの新型を開発中ですが、先日公開のβ版の命令セットに
マルチタスクができる機能を入れてみたつもりです。
例えばIoTのCPUとして使われた場合、測定データのRSA 2048bitの電子署名を要求すると、
数分間、署名計算をすることに多分なるのですが、計算している間に
測定データの採取ができなくなることが起きます。
マルチタスク機能があれば、署名計算中に測定データの採取が必要になったところで
割込みで測定データの採取のタスクを起動できます。
AES暗号のほうが計算量が少ないのですが鍵の管理コストが問題になります。
サーバもLinuxで動作する場合が多いため。AES暗号とRSA(楕円)の併用ができれば
システムのコストを削減できるかも。
EE Times Japan記事
ケイデンス、Vision DSP製品ファミリを拡張です。
一般の人だと「Vision Q8 DSP」1024bitと僕の
Vattlesとの違いが、
わからないだろうと思ったので、一言だけ、ケイデンスの新製品は、
SIMD/VLIWなので複数の演算器で同じ命令を共有するタイプです。
僕のVattlesは独立したCPUが複数あるタイプです。あまり見かけないタイプです。
高効率な可逆圧縮のアルゴリズムのソフトウェアが動かせます。
アプリに応じた圧縮アルゴリズムを考えれば、飛躍的な性能向上が見込めるため、
そういうアプリを見つけて当てる人が出てくるかも。と思っています。自動車の電磁波対策など。
Vattlesが競合他社に追随を許さないのは、トランジスタ数当たりの性能。特に除算。
独立したCPUを多数、並列にすると、どうしてもトランジスタ数が増大してしまって、
安価にならない。
この問題の解決のため多くはSIMD/VLIWを採用している。Vattlesはユニークな存在になるかも。
一昨日、8bit CPU WZetaの命令セットを公開しましたが、安全性を考えて
1つのメモリでプログラム領域とデータ領域を分けていました。
プログラム領域とデータ領域を重ねるメモリモデルTINYを追加。
より小さいメモリ(SRAMなど)で済むので原価低減できます。
MS-DOSの時代はC言語でプログラミングをするとき6っつのメモリモデルから
一つを選択する必要がありました。TINY/SMALL/MEDIUM/COMPACT/LARGE/HUGEです。
ネットで検索しても、あまり見つからないので、少し驚き。
C言語でプログラミングを始める人は、必ずこの6っつのメモリモデルを
学習しているはずなので。気合いを入れてネット調べればまだ見るかるので、
詳しくは書きませんが、プログラムとデータのサイズをどうするのかを決めるため
のものです。SMALLはプログラム64KB、データ64KBです。
当時の大学のプログラミングの課題は、だいたいこれで済んでいたと思います。
LARGEはプログラムもデータも64KB以上が使えるメモリモデル。
HUGEも、そうですが、64KB以上を扱うことができるHUGEポインタとかが、
当時の話題だったような。TINYはプログラムとデータを同じ64KBに入れるモデルです。
ちょうどMS-DOS時代のメモリモデルTINYに似ているかもと思ったのでTINYという
名前にしてみました。
産業スパイに12時間以上、眠らされていた。
血も出てるし体が本格的に壊れたら、どうするのかと。
産業スパイ、24時間営業で脳内にいるので、産業スパイの
技術的理解が深まっていくのだが、
このような乱暴な人たちと仕事したくないので、
僕のプロセッサに関心のある人は産業スパイを経由せずにお願いします。
SnakeCube
の脅威となる可能性があるベクトル演算器や
85万コアのウェハサイズプロセッサ「WSE-2」(PC Watch記事)
などが話題になっているかもしれません。
SnakeCubeはベクトル演算器と比べて効率が高く、
鍵が非常に大きくなっても演算できるのでSnakeCubeの優位は
変わっていないと思っています。効率の話は具体的なデータがないと、
優位性が失われるということが難しい。
SRAMのスループットの大きさを示すものが多いのですが
SnakeCubeの演算コアにSRAMのスループットは関係ないため、
SRAMのスループットが影響するようなものとは比較にならないかもしれない。
僕以外の人のSnakeCubeを開発していれば、それは海賊版です。
ツイッター広告で、ちょっとだけ宣伝してみることにしました。
シミュレータによる検証が完了するまで公開を控えるつもりでしたが、
現在開発中のWZetaのSDogコアの設計資料β版として公開。
公式サイトのトップページにPDFファイルを置きました。
ツイッターのTL上にRISC-Vのオンラインイベントの案内があったので、
何の気なしに参加登録をしたのだけど、結局、お昼休みだったので1秒も発表を
見ることができなかった。
新型WZetaですが8bit加算器1個で剰余演算を高速&省メモリに演算できるような
命令セットにしました。RISC-V向けの暗号プロセッサとして考えられるかもとは、
思っていました。小型のRISC-VよりもWZetaは小型ですからチップ面積を小さくして
原価低減する目的に使えるので。
ノイマン型アーキテクチャなのでRAM1個なので面積を小さくすることができる。
ただWZetaは税金を使わないことを方針としているので税金関係ない方でないと、
難しい。
本日の作業報告になりますがアセンブラの開発をしています。
この後、シミュレータができると、シミュレータでRSA暗号の演算をしてみること
ができます。それを確認してから命令セットのRC版を公開することは
できるかもしれない。
産業スパイによる妨害で全身痛になり数時間、倒れているので、
作業時間が減少しています。連日のことでは、ありますが。
20年以上前の話。SNS上で何度も話をしているのですが、
産業スパイと話をしていて、もう一度、書くことに。
当時も、今と同じように産業スパイのような人たちに取りつかれていて、
長時間残業によって僕が稼いだ金を払うように言われる。
60万円以上するROLEXの時計とか。
僕は中央研究所から転勤して大型コンピュータ事業部に入りましたが、
事業部に入った同期の中で1番と噂され、長時間残業に耐え、
ICF3(1999年)の成功後、
日立の幹部候補生が集うと言われている研修(IED)に通うことになった。
(僕より後に入る東大卒を出世させたい場合、
僕を1番にしておくことがいいと思えば不思議ではないでしょう)
日立の幹部候補生と思われる一人に、ROLEXの時計をしている腕を掴まれて
「ROLEXの3分の一を貰った」と言いわれた。そして幹部候補生と思われる人たちと
映画館に行くことに。激安な制作費のオカルト映画で、
映画館の最前列の真ん中で映画を見た。ちなみに最前列の真ん中は、
画面が大きすぎて見づらい席。
ROLEXのおかげで、日立の営業活動のお手伝いを、
させていただくことができたのです。
この時は、これで将来、いい暮らしができると、そう思っていました。
ROLEXも問題だと思っていますが、今回はPerlの話。
長時間残業をしている最中だったのでPerlへの寄付の方法とか、
良くわからずPerlはイタリアの人が作ったものだから、イタリアの物を
買えばいいみたいなことを言われ新宿の某デパートで1万円のワインを買った。
後日、Perlを作った人はアメリカ人であることを知り、憤慨しました。
体中に根性焼きしてくる産業スパイが、あれこれ言ってくるので、
このPerlの話を思い出したのでした。
verilogよりもWZetaのシミュレータの開発を先にしています。
まずアセンブラを作っていますが、これまでのICF3-Zや旧WZetaのアセンブラよりは、
もう少しまともなものを作る必要があるので、まともに作る方向に。
微弱ながら産業スパイによる妨害は続いています。作業時間が減少しています。
微弱とは言え健康被害がないとは限らない状況。
土に返るIoTデバイスを研究している方もあるようです。
このため農業用IoTセンサーに向いたCPUを作り始めただけでZ80入りの野菜を
誤って飲み込む危険性が発生しています。
RISC-Vの小型IoTエッジデバイスを研究されている方も
注意をされたほうがいいかもしれません。
食べ物は、一口で食べずによく噛んで食べましょう。
農業用IoTセンサーは回収を前提にしましょう。
WZetaのメリットは何なの?と思う一般の人向け。一言で言うのは難しいのですが、
同じく8bit CPU ICF3-Z
だとトランジスタ数当たりの性能が非常に高い除算。ICF3-Zを並列化したマイコンが
電気自動車の電磁波対策として信頼性を高くするメリットがあります。
ただマシン語が一般のCPUと違うので、慣れないと難しい。
WZetaは、一般的なCPUの命令セットに近く習得が容易です。
プログラムを8bit単位の逆順で処理することを考慮した命令セットです。
CPUをパイプライン化すること無く、少ないトランジスタ数で高速化できるという大きな特長があります。
(多分、世界初。パクっていることが命令セットに出るので海賊版を作りにくい)
これから街や農地にセンサーが大量に配置されるとメディアが報じています。
センサーから得られたデータをクラウドに送信する用途に最適です。
またセンサーモジュールにCPUを付けて、Linux搭載IoT機器と暗号通信をさせることは
必要になると思います。超軽量なCPUが原価低減効果につながります。
地球環境をセンサーで調査して、その結果から税金が必要と言う人は出てくると思われます。
CPUが無いと、後で調べたらLinuxが改竄していたということが起きるかもしれないのです。
Linuxが絶対信用できることを保証するためには、国家予算クラスの税金が必要になるように思います。
WZetaの設計は暗号プロセッサを開発した経験がある僕なので、少ない命令数の中に、
漏れなく暗号、署名の高速化に役立つ命令が入っています。乗算器の無いCPUでも、
剰余演算が高速かつ省メモリで出来ます。剰余演算は楕円暗号の高速化に役立ちます。
楕円暗号などの計算ができれば、ゲートウェイを経由することなく、クラウドに
直接通信することが可能かもしれません。
楕円暗号用のチップを基板から1個、削減することができるかもしれず、
そうなれば原価低減効果の大きなものとなるように思われます。
WZetaのSDogコアを現在、開発中です。従来マイコンのCPUの多くが
ハーバードアーキテクチャなのですがSDogはノイマン型アーキテクチャです。
ハーバードではプログラムとデータの2個のメモリが必要になるため、
プログラムとデータのメモリ容量の組み合わせが発生しますが、
ノイマン型アーキテクチャでは大きなメモリ1個にして、アプリによって
プログラムとデータの配分を決められるため生産上の利点があると思われます。
SDogについて言えばプログラムとデータを1サイクル毎にアクセスするため、
ハーバードアーキテクチャのように扱うことも可能。ハーバードで
フラッシュメモリのバースト転送を直接、CPUに接続するSRAMに行えば、
製造原価低減の可能性があるような気がします。
WZetaは命令セットがわかりやすく汎用的に設計されているので、
8bit CPUのRISC-Vと考えることもできます。
そして税金を使わないことを方針としているため、性能があまり必要ない
用途では、まずWZetaを考えるのが、いいというようなCPUになると思います。
産業スパイによる妨害で作業時間が減少しています。
論理ゲート図面が完成しました。verilogを急ぎたいところですが、
verilogのファイルが完成したところで、
正しく動作しているのかを検証するシミュレータを開発するとverilogを
忘れてしまうので、先にC言語によるシミュレータの開発に着手することに。
オープンソースのCPU、RISC-Vの
イベント、
参加無料みたいです。
僕は自分のオープンソースのCPU WZetaの開発で忙しくて参加できそうにないですが、
FPGAを使わずにTTL(標準ロジック)?のみで作った自家製RISC-V、パイナップルONEというのが
発表されるようです。
僕の新型WZetaのTTL版は反社会勢力になると言われて辞めたのですが、
そういうことはなかったのかな。
自家製RISC-V、パイナップルONEは8枚の基板で構成されているとか。
超軽量CPU、WZetaなら、もっと少ない基板数になると思う。Linuxは無理だけど。
新型WZetaのオープンソース公開に向けて頑張って作業しているところです。
税金を使わないことを目標としているので、税金関係無いよ、という人は、
公開されたら見てみてください。
雑談レベルの話として読んでもらえればと。
ネットに落ちているIntel 8051(MCS-51)の仕様なので、
また意地の悪い人たちが改竄しているかもしれないですが、
新型WZetaとの比較で目立つのは8051には128バイトの内臓SRAMがあるという点かも。
これでASICではトランジスタ数がかなり違うので新型WZetaと比較をされるのは厳しいかも。
トランジスタ数を少なくすることを重視したFPGAによる
互換実装(light52)があるので、
新型をXilinxのFPGAに実装すれば、詳細な比較ができるでしょう。
light52のドキュメントを読むとトランジスタ数当たりの性能より
トランジスタ数の絶対数を小さくしていると書いてありました。
1命令を処理するのに必要なサイクル数は平均で6サイクル。
WZetaは4サイクル固定です。まだWZetaの実装はできていないのですが、
僕の予想はlight52の半分以下とか、3分の一以下。
WZetaは乗算、除算命令などがなかったりするので、当たり前といえば、当たり前かも。
8bit CPU AVRとの比較でも、やはり8bit×32のレジスタがトランジスタを
多く消費していると思います。
8051と違って内臓SRAMではなくレジスタファイルによる実装で
SRAMよりも高速な作り。乗算器も持っています。
WZetaは僕が設計しているCPUということもあって、WZetaの少ない命令の中に
RSA暗号や、楕円暗号の性能に役立つ命令が漏れることなく入っている当たりが、
WZetaのいいところかも。普通の自作CPU屋では、
乗算器のないCPUで公開鍵暗号を高速化できる方法を知っていることはないと思うので。
ここ数日は妨害の量が増加して作業速度が10%に落ちています。
論理ゲートの図面は、かなり完成してきて各命令が正しく動作するのか、図面を見ながら、
これから確認する段階。8bit CPUのICF3-Zの論理ゲート図面は
ネット上で公開しています。
これと新型WZetaを比較するならデータ系のブロックは同程度の絵になっています。
制御系のブロックはICF3-Zが、やや詰め込み過ぎで論理ゲート図面と言うのが
難しくなっていますが、新型WZetaのほうは論理ゲート図面なので、
わかりやすい設計図になっている。
この論理ゲート図面で約70命令が解釈され実行されるのだと自己満足している。
70命令といってもAND命令が3個で計算されるような命令数。
今日も産業スパイに満腹中枢を刺激され1日中、眠らされていた。
内臓のあらゆる筋肉も、いろいろ遠隔操作で、いじられて音を立てている。
産業スパイの中には、この記述が気に入らない人があるようなのですが、
産業スパイが遠隔操作を辞めれば連日、日記に書くことはなくなるので、
そう言ってやってください。
まだ論理ゲートの図面を作成段階で命令セットアーキテクチャ(命令コード)
の仕様も公開していないのですがWZetaの弱点を事前に検討して対策を考えているところです。
一般的なパイプライン化されたCPUにはない、メモリアクセスの特性がメリットにならないか?
というような話です。
トランジスタ数を少なくすることを設計方針とした超軽量CPUなので、
命令数が少ない。このためプログラムメモリの効率が悪いのです。
超軽量CPUの宿命とも言えます。
CPUの製造原価を下げても、メモリの原価が上がれば意味がなくなるという問題。
WZetaには一般のCPUには、あまり見かけない利用者定義命令があります。
この機能をうまく活かせばプログラムメモリの効率が上がるのですが、
アプリケーションによって効果がまちまちです。
ノイマン型にして1つのメモリでプログラムとデータを共用することで、
原価低減を考えています。共用のメリットにはアプリケーションによって、
プログラムとデータの割合を変更できることがあります。
SRAMだけを考えれば、これでも効果が期待できるのですが、
現実は、安価なフラッシュメモリとSRAMを組み合わせる場合が多いので、
フラッシュメモリとSRAMのI/Fも考えなければ原価低減にはならないかもしれない。
WZetaの1実装である現在設計中のSDogコアは偶数サイクルはプログラムメモリ、
奇数サイクルはデータメモリへのアクセスと綺麗に分離されている。
この特性が、以外にメリットになるのではないかと思っています。
マイコンの設計現場にいたことはないので、多分そうだと思ているという意味。
2つのSRAMをプログラムメモリ、データメモリに分けます。
プログラムメモリのSRAMでは奇数サイクルがすべて空いているので、
ここにフラッシュメモリの転送を入れると簡単な回路になるので、
すぐに実装できます。
同じようにデータのSRAMも偶数サイクルがすべて空いているので、
センサーなどから得られたデータを、無条件にSRAMに書き込んでいくのに
便利です。
産業スパイに満腹中枢を刺激され1日中、眠らされていた。
典型的な妨害パターンは、全身筋肉痛でベッドで横になるように操作、
強力な睡眠増強によって眠らせる。これで作業時間が失われている。
購入から10年以上経過しているパソコンです。
電源のファン音が酷くなってきたので、ATX電源のファンを交換してみました。
はんだ付けは、うまくいっているはずなのですが電源を入れてもファンが少しも動かない。
電圧を調べてみると8Vでした。買い置きの12cmファンは、他になかったので、諦めました。
ATX電源を数年前まで使っていたATX電源に交換。修理完了。
12cmファンを買い置きするほどファンの故障が多く、故障したファンを
毎回確認している。
故障したATX電源のファンを調べると、軽く偏心しているように見えましたが、
まだ普通の状態では大きな騒音が出るほどではなさそうでした。
なんらかファンの電圧を上げると大きな騒音が出るという状況のように見えた。
タイミング良く、電圧を上げれば、効果的な妨害が可能かも。
今回も産業スパイによる妨害の疑いは、かかっている。
図をマウスでクリックすると拡大されます
日清のカップヌードルのように超軽量8bit CPU WZetaは「逆転の発想」
によって生まれたみたいな売り文句を思いついた。
8bit CPUについてネットで調べていると、あの任天堂のファミコンのCPU 6502は
大阪の池田市で製造されていたとあった。1999年のICF3を開発したあと池田市を
案内してもらったことがあるのだけど、このときは日清のカップヌードルミュージアムに行った。
カップラーメンを製造するときに麺を上からいれるのではなくカップを上からかぶせる
という「逆転の発想」がいいのだというアトラクション
があるようです。
6502と比較できる程度の8bit CPU WZetaは、命令コードを逆順で処理できるようにすることで
非常に少ないトランジスタ数で高性能が出ます。
正に「逆転の発想」、日清のカップヌードルのような売り込みができる、とか思っただけ。
親が今年度の自動車保険が3~5万値上げされることについて問題を言っている。
単に生計を共にしているからだけではなく僕も自動車の保険に入っているからだと思います。
産業スパイによる遠隔脳制御で僕の頭はボロボロになっていることに
保険会社が耐えかねているのかもしれない。
最近、日本の保険会社が外資に移行しているという話も聞いた。
とりあえず遠隔脳制御システムと自動車保険の相性は、かなり悪いと思える。
この当たりで産業スパイがコケるかもしれない。
産業スパイが撤退すれば、
僕の持っているSnakeCubeなどの技術が円滑に採用され、産業が大きく活性化する方向が考えられます。
自動車保険に話を戻します。僕は視力がかなり低下していて眼鏡の度を強くしても、体調が悪いと、
空間が歪んで、万全だとは言えない状況なので、自動車には乗らないことにしているのですが、
緊急事態に備え保険には入ったままなのです。
今年から僕は保険を辞めることにするか、考えどころ。
現在はリュックサックで買い物をする体制を整えて徒歩だけで生活しています。
今回の強制徴収については、
産業スパイが殴ったことが原因で起きた問題を殴られた側が負担させられるのはオカシイ。
産業スパイが撤退した先を考えたい。
作った命令セットに従って論理ゲートに近い図面を作成中。
WZetaはトランジスタ数の削減のためスタック機能のハードがありません。
ソフトウェア的にスタックを作れる機能はありますが、遅いので、
BAL命令を作りました。名前はIBMの大型コンピュータのBAL命令から
取っています。分岐するときに返ってくるアドレスをレジスタに
保存しておくというもの。スタックの前世代的な方法かも。
2020年のチューリング賞
はドラゴンブックのAho氏とUllman氏だったのですね。30年前に邦訳される前の洋書、
通称ドラゴンブックと呼ばれていた分厚いコンパイラの本を先輩に言われて購入していたりする。
研究熱心な学生だったのです。1ページ読んで読む時間がないことに気づくことになったのですけど。
さて本題です。
頭や体の各部が壊れては回復しますが、長時間が経過しても回復しないものが増加傾向にある。
明日は我が身に降りかかる厄災だと考えてもらえればと思います。
イギリス政府は第二次世界大戦の英雄、チューリングを50ポンド紙幣にして名誉を回復した記事が、
最近もあるみたいです。
GIGAZINE記事、
「計算機科学の父」アラン・チューリングを採用したイギリス50ポンド紙幣の新デザインが発表される
日本も僕が、あまり壊れないうちに、どうにかしてもらいたいものだと。
産業スパイに遠隔で声帯の筋肉を引っ張られて痛い。
僕があまり壊れないうちに、どうにからなないだろうか。
憤りならが青ざめている状態なので作業は少しずつしか進んでいませんが、
良好な出来具合なので僕の期待が大きくなっています。
この新型WZetaをコアとしたマイコンが実際に家電などの組み込まれ
原価低減につながること期待しています。
例えば10円の原価低減になれば100万台売れる家電では1000万円になるのです。
多くの人は、これにARMのライセンス費が上乗せされて、
もっと利益が出ると考えている人もあるようです。
ARMのライセンス費については、僕は良くわかっていません。
WZetaはApache License 2.0なので僕に、
お金が入ってくる方法はあまりないので、ARMのライセンス費問題だけが、
僕に降りかかってくるのは、割に合わないと思っているので、
ARMの人がApache License違反を発見するのは、ちょっといいかなとか。
WZetaが多くの人に役に立つものになればと思っています。
産業スパイによって唯一しかない性感帯を破裂されました。
憤りならが青ざめている状況です。
これまでも破壊されたものが復元することはありますが、
今のところ復元する意思は感じられません。
復元できても6、7割といったところ。
完治したケースもあるのですが稀かもしれない。
僕は1996年~2000年ごろ日立で大型コンピュータのIBM互換機を開発していました。
1999年の暗号チップICF3
は有名だと思います。IBM互換機といってもCPUと周辺チップのほとんどがIBM製。
メモリと接続するチップと暗号チップ(ICF3)のみ日立で開発したものです。
ほとんどIBMの大型コンピュータと言っていい製品でした。
大型コンピュータは世界各国に販売されるものです。
今、思えばIBMが自社の暗号チップの開発現場を公開したくなかったために、
日立のIBM互換機が売れたのかもしれない。
世界各国の用人が暗号装置の信頼性を確信するために
僕に憑依していたと思われます。
現在もこの憑依システムが稼働していると思うので僕が開発しているものは、
恐らく研究者の研究論文よりも、早く用人に知られているでしょう。
このシステムによって産業スパイが可能になるわけですが
その科学力が凄まじい。遠隔でかなり細かい脳の制御が可能なようです。
僕が言いたいのは大型コンピュータの開発に成功して事業に貢献したにも、
かかわらず退職に追い込まれたこと。
そして、その後、このシステムに痛めつけられ続けています。
そんな中、2018年にSnakeCube
を発明し、昨年、FPGAによってRSA 2048bitの性能検証できました。
常時httpsなどで盛んに研究された後のことですから
「誰も解けなかった問題を解いた」と言えます。
孤立無援の状況だったので利権は僕1人が持っています。
そして性感帯を破裂されました。産業スパイは、このまま痛め続け、
潰して利権を分配することで、乗り切ろうとしているのかもしれない。
必要悪というものは、あるかもしれないと思っていますが、僕をヤルのは
完全に間違っていると思っています。
産業スパイに協力しないように、よろしくお願いいたします。
早稲田ローカルな話かも。
第43回鳥人間コンテストの出場権を獲得したみたいなツイートを見かけたので。
まずはおめでとうございます。かな。
僕が早稲田大学で初めて飛んだ機体のプロペラを開発した人だということを
知らない人もいるかもと思って書いてみた。
さらに、その後、5年くらい後輩に抜かれなかったという。
伝説になっているよね。
記録は滑空機よりも飛んだというレベルだったけど(笑)
僕は2代目のプロペラ班の班長。1人班。
このころも1人で仕事する人だったという。
ちょっとだけ手伝ってもらった人もいるけど。
プロペラ作り地味で大変だったけど、
こういった自慢話はができたことは良かったかもと。
WZetaの命令セットを論理ゲートレベルに近い設計図にしています。
これからXilinxのFPGAに実装する予定ですが、ICF3-Zよりも規模が小さくて、
シンプルな構造なのに良く動いて効率がよくて、命令セットがわかりやすいので、
世界的に普及することが(僕は)期待できています。
CPUはパイプライン化をすれば性能が上がりますがレジスタが多くなければ
十分な効果を得られません。レジスタはトランジスタ数を多く消費するので、
ASICでは規模がかなり大きくなるのです。WZetaは逆順ができる命令セットによって
メモリアクセスの効率が大幅に上がったためメモリをレジスタのように使います。
汎用レジスタは2個しかありません。
またWZeta(SDogコア)は8bitバスのノイマン型アーキテクチャであるため8bitバスのメモリ1個で動作します。
制御系のプログラムでは本格的なスタックでなくても問題がないので
スタック機能を省いてトランジスタ数の削減しています。
またソフトウェアでのスタックが高速になるような命令を追加しています。
つまり、そこそこCPUの製造原価を削減できると考えています。
参考までに多くのマイコンはノイマン型ではなくてハーバードを選択しているようです。
ハーバードではプログラムとデータで2個のメモリを使います。
ライセンスは、旧WZetaと同じApache License 2.0を考えています。
ライセンスについて詳しくありませんがMITライセンスよりも扱いが
いいと思っています。書籍で取り上げるのに便利だと思っています。
Apache License 2.0では開発者本人がメリットを得るのが難しいので、
僕への経済封鎖的な行いには、参加していただかないなど、ご協力が
得られることを期待しています。
産業スパイによって1日、眠らされていました。
このため、あまり作業は進んでいません。産業スパイは問題です。
新しいWZetaの命令セットの特長は2つあります
(1) 16bit固定長の命令コードで8bit単位の逆順でも送信が可能なこと
(2) オペランドだけで相対分岐アドレスが事前計算できることなどがあります
一般的な5段ステージの正順でも命令セットを改良すればデコードの
タイミングで分岐先を決定できるようにすることも出来ます。
WZetaと同じ周波数、4サイクル固定ピッチができるのではないかと思います。
(1)の逆順だけのWZetaのメリットは1命令でリード、ライト2回のメモリアクセスが可能なこと。
ということになります。
そして、この1命令で2回のメモリアクセスが可能な場合、次のような典型的な演算で、
3命令が2命令になるメリットがあります。
[mem2] = [mem2] + [mem1]
正順ケース
MOV A,[mem1]
ADD A,[mem2]
MOV [mem2],A
逆順ケース
MOV A,[mem1]
ADD [mem2],A
トランジスタ数削減のためレジスタ数を1、2個にしているようなCPUでは
演算した結果をレジスタに貯めておけないので、これは効果的です。
そしてこの演算は多倍長加算、減算で便利です。
1024bitの加算では128回の8bit加算を連続ですることなるので。
多分、楕円暗号を効率的に演算することに威力を発揮します。
製造原価の安い楕円暗号チップを作れるかもしれません。
暗号資産(仮想通貨)のハードウォレットなど。
WZetaの命令セットは16bit固定長です。低コストな実装を可能にするため
8bit単位でプログラムを送信することができます。
そしてWZetaは逆順でも送信できることを考えた命令セットになっています。
逆順のデメリットはあったのですが、思っていたよりも
大きなメリットがあり、超軽量なCPUではデメリットが影響しないという状況です。
一般的なCPUで考えるならば逆順のデメリットがないことを確認するための
検証コストが大きく、しかも必ず良い結論が出るとは限らないため、これまで考えられなかったのだと思っています。
WZetaは従来アーキテクチャよりも効率的であることが設計段階で示すことができるため、
場合によっては世界中に広まる可能性もあるだろうと思っています。
世の中、良い方向に考えられるようにと思っています。
まだ時折痛んで動けなくなる状況が続いています。
もう少し、壊れると、日常生活に大きな支障が出ることになるでしょう。
そして、壊される理由はない。考えてほしいものです。根本的な問題を良く思い出して。
午前3時過ぎだが、急に苦しくなった。腹部の更に下が痛い。
午前5時近く、少し安定しているが、十分なのかは、まだわからない。
午後1時起床、痛みはほぼなくなっているが、根本的な問題は、全く解決していない。
そして僅かでも痛めば、のたうち回るということはないが、作業できなくなるくらいには、
動けなくなるという状態。
PC Watch記事
Arm、10年ぶりの新アーキテクチャ「Armv9」。富岳のSVE改良版やコンフィデンシャルコンピューティング機能追加
ARMの新命令セット「SVE2」(Scalable Vector Extension 2)によって
僕の暗号プロセッサSnakeCubeが、
沈んでないか、と思った人ってあったのだろうか。
SnakeCubeのアーキテクチャを見て、汎用化すればベクトル演算器になると思った人はいたようなので。
やればできるかもしれなけど暗号プロセッサとしての効率が下がって実用的にならないだろうと、
思ったので、あまり考えてませんが、実用的ではないだろうと思っています。
つまり、SnakeCubeが沈んでいるとは僕は思っていないということになります。
頭痛で能力が低下した状態なので、作業は少しずつしか進んでいませんが、
順調に設計図が書けています。僕が暗号演算に詳しいせいで命令セットにそれが、
透けて見えそう。産業スパイの妨害が続いていて問題と思っています。
頭や体の各部が壊れては回復しますが、長時間が経過しても回復しないものが増加傾向にある。
明日は我が身に降りかかる厄災だと考えてもらえればと思います。
イギリス政府は第二次世界大戦の英雄、チューリングを50ポンド紙幣にして名誉を回復した記事が、
最近もあるみたいです。
GIGAZINE記事、
「計算機科学の父」アラン・チューリングを採用したイギリス50ポンド紙幣の新デザインが発表される
日本も僕が、あまり壊れないうちに、どうにかしてもらいたいものだと。
TTL CPUですが、反社会勢力に利用されることを懸念する声があるようです。
WZetaのTTL版は、当面、凍結します。
一般的なCPUアーキテクチャが、全領域で最高性能ということではない。という話かも。
軽量なCPUの設計は、今回で3回目になる。この経験からわかってきたこと。
一般的なCPUアーキテクチャは1命令を5つのステージにわけて処理をする。
F(フェッチ)-D(デコード)-E(実行)-MA(メモリアクセス)-WB(ライトバック)
パイプライン化をしなければ1命令で5サイクルかかることになる。
しかもF-D間が1サイクルということは、メモリアクセスの性能を十分に活かしていない。
パイプライン化をすれば1サイクルピッチで処理できる場合もあるが命令列によって、
メモリアクセスの競合などのハザードが起きて実質的には1命令の実行に数サイクルかかる場合もある。
そして、その制御論理の設計が複雑になるため自動化のツールが発達した。
軽量なCPUに限ったことになるのかもしれないが、WZetaの
オペランドの投機的実行は、こういった状況を覆すかもしれない。
8bitバスで命令コードを2回送信する場合にオペランドを先に送信する方法。
F(フェッチ)-MA(メモリアクセス)-e(分岐実行)-E(実行)
この4ステージになる。そしてメモリアクセスの帯域まで高速化をすれば、
デバイスに依存する問題だが、ざっくり一般的なCPUアーキテクチャより高周波数になる。
これが仮に1.3倍だとすれば4サイクルの固定実行でも
5段パイプラインCPUに換算すると1命令3サイクルになる。
パイプライン化することで性能と引き換えに、様々なデメリットが発生するが、
WZetaは命令を逐次実行するため、様々なデメリットがなく、簡潔な構造でありながら、
そこそこ速いということが、設計段階でわかる。
8bit CPUを設計しているのでファミコンのCPU 6502の話をネットで見るようになりました。
好きな人にとっては面白いと思います。Z80より安いという理由は以前から知っていましたが、
画像プロセッサと相性がいいということもあったとネット上の記事にありました。
「第4回『ファミコン』のCPUは・・『上村部長』の決断 ? 『ファミコン』誕生物語
https://kopenguin.com/post-1994/
画像プロセッサと相性がいいというのは、どういうことなんだろ?
僕が今、設計している超軽量8bit CPU WZetaはノイマン型アーキテクチャを採用。
プログラムとデータを同じメモリ上に置けるのでメモリ1つで安価になると思っています。
そして、もう一つ、構造の単純化を推進した結果、
メモリアクセスのパターンが固定になっています。
一般的なパイプラインプロセッサはメモリアクセスがない命令は、
早く切り上げて次の命令の実行に移るようにして高速化をするのです。
WZetaは、いまのところ全ての処理のメモリアクセスが固定です。
プログラムのアクセス50%、データのアクセス50%でメモリの帯域を
使い切っています。これでプログラムをROM、データをSRAMに分けると、
画像プロセッサが固定サイクルでアクセスすれば1ポートのSRAMを
CPUと通信することなく、使えるように思ったのです。
6502がどうして相性がいいのかは、わかりませんが、
画像プロセッサが固定サイクルでアクセスできれば1ポートのSRAMで、
いいというのは、ハードを安価にするのには、役に立つかもと。
20:45追記
センサーからのデータをバッファを介さずに、データを取得して、
すぐにSRAMに書き込めるのは、いいかもという話。
8bitレジスタが2個しかない超軽量8bit CPUを設計中。
8bitレジスタが2個しかないけどコンパイラなどのソフトウェアが作り易く、
TTLでCPUを作れる規模になってきたのでTTLパソコンが視野に入ってきた。
人によっては強い需要があるものだと思っています。
これまでのものより、良いものになりそうな気がしているのでTTLパソコン、
いけるのではないだろうかと思っています。
ワイヤードロジックで設計を進めていましたがTTL CPU版では
マイクロコード方式にして部品点数を減らそうとしています。
命令セットを使って新しい命令を作れる機構がついています。
ミリコードという名前で呼んでいます。IBMがそう呼んでいたので。
これでコンパイラに必要な命令を作れます。このためにプログラムカウンタを、
もう一つ、増設するつもりでしたが、作った新しい命令を実行した瞬間に
割込みを入れて、プログラムカウンタをソフトウェアでメモリに
退避する方法にしたので、ここでも部品点数を減らすことができそうなのです。
性能のために相対分岐アドレス計算用のプログラムカウンタもあったのですが、
これも削減します。
非常に小さいハードコアにマイクロコード、ミリコードを付加して、
人にわかりやすい命令セットを作ることができて満足している状態。
少ない基本を組み合わせて多彩な機能を作れるアーキテクチャを趣向する人
に受けてもらえるのではないだろうかと、思っていたり。
ただTTL版もFPGAで動作確認するところまでだと思いますが、FPGAでの実装状況を待ちましょう。
更新情報
|