最近龙芯科技公布了loongarch指令集。为国人骄傲的同时,也有点烦,以后是不是又得花时间学习一种新的指令集!!
思考一个问题,如何让loongarch指令集的程序在我window机器上跑呢?是不是将其翻译成window指令集的程序就可以了呀?
是不是有一个更妙的办法呢?在现有指令集和高级语言之间增加一层虚拟指令集,程序编译和运行也都是虚拟指令集。这样可让虚拟指令集和硬件分离,不同的硬件跑的是同一套虚拟指令集,这样挂平台不就简单多了嘛。
比如说,我们增加一个SIN虚拟指令。有些硬件支持SIN计算(目前还没有这样的硬件),有些硬件不支持但我们可以用软件实现SIN计算。但是对于使用高级语言编程的码农来说,我们不必关心SIN如何实现,这些交给虚拟指令集解释器去完成吧。