libcpuとアーキテクチャ記述

LLVMをバックエンドにしたCPUエミュレータライブラリlibcpuが公開されていた。

興味深いのは、libcpuがアーキテクチャ記述のコンパイラを持っていることで、将来的にはこのアーキテクチャ記述からエミュレータを"生成"することも視野にあるようだ。アーキテクチャ記述はPDP1のような渋いアーキテクチャも含まれている(PDPは独特のミドルエンディアンを使う)。

残念ながら完成したUPCL記述は今のところ無いようだが、アセンブラコンパイラの生成にも使えるかも知れない。
他にJITCを基盤にしたエミュレータライブラリにはqemuが有るが、libcpuはより広いCPUをターゲットとしている。