暗号計算機屋のブログ

なにか思いついたことを不定期に更新。

COMET 2に似た仮想マシンCOMBATの計画

要約

2023年4月の情報処理技術者試験から出題範囲として外された仮想マシンCOMET 2に酷似した仮想マシンCOMBATを作ってマイコンJavaとしてCOMET 2を後世に伝えていく計画。出題範囲から外れたCOMET 2に税金が投下されない予想をしています。試験問題のために作られたCOMET 2はシンプルであるためマイコンの非力なCPUにも実装できる反面、実用性は低目なのでDIY向けの電子工作向けに適している。お金のかからない文化保存手段としても期待。

COMBATの計画をしている人

オープンソースの8bit CPU WZetaを開発している平山 直紀。計画倒れになるかもしれないけど、興味のある人は連絡をください。

COMBATの命令セット方針

COMET 2の命令セットに極力似たものにしますが、WZetaのハードマクロ命令で実装するのに都合が良いことを優先。

COMBATを計画した動機

COMET 2がWZetaのハードマクロ命令で効率良く実装できること。COMET 2の命令セットは1、2ワードの可変長の命令セットですが、可変長命令セットであってもハードマクロ命令で効率良く実装できる場合があることを説明したかった。Pythonなどの言語は内部で仮想マシンを持っています。CPUの命令セットの境界線を動的に変更することで得られるメリットを引き出すことがWZetaでできればと考えているため。WZetaによってコンパイラに都合の良いCISC命令をコンパイラ屋が時間をかけて作れることもあるかもしれないと思っているため。

COMBATの名前の由来

昔、ASCIIという雑誌でSunワークステーションのCPUであるSPARCがゴキブリ駆除剤のコンバット(COMBAT)に良くにているということを写真付きで比較していたのが面白かったから。 AMD/Xilinxには8bit CPU PicoBlazeがあって、その互換CPUとしてPacoBlazeがありますがCOMBATはCOMET2の互換CPUではありません。アーキテクチャが酷似しているだけです。

8bit CPU WZetaとは

オープンソースの8bit CPUです。詳しいことはWZetaのサイトをご覧ください。

wzeta.idletime.tokyo