问:在实际使用层面,如果用不同处理器、不同的操作系统,虽然都是国产的,但沟通起来还是比较有困难?目前国内6家CPU厂商,包括各自适配的系统之间有兼容性的问题么?
答:大家希望做到的理想的模式是能够通过操作系统来屏蔽CPU,正在往这个方向去努力,目前还是会存在兼容性的问题。
兼容性有好多层次,比如指令集本身是很难兼容的,所以我们在做跨指令集的二级制翻译器。同源异构的操作系统,同一个源代码,但是在不同的CPU上都需要编译一遍,这就是适配。对于上层应用来讲,如果都是用Java来写的,本身就是跨平台语言是兼容的,如果涉及到底层架构的就需要重新编译。还有Linux对兼容性的设计不是很好,升级后有可能在自己的升级版本上就不兼容了。因此兼容性是比较复杂的问题,包括CPU指令集、操作系统本身的版本迭代、内核的版本迭代、应用程序的编程语言等都会引起不兼容的问题。
为解决这个问题,我们做龙芯应用框架(Loongson Application Framework),包括基础框架LBF、兼容框架LCF、开发框架LDF,龙芯X86架构翻译系统LATX,和龙芯ARM架构翻译系统LATA。
其中基础框架LBF规范硬件兼容性,通过统一系统架构实现操作系统跨硬件兼容;兼容框架LCF克服Linux平台软件发散的缺点,实现Linux系统不同分支和版本的应用兼容;LATX通过高效二进制翻译,在龙芯平台上运行X86/Linux及X86/Windows应用(不运行Windows);LATA通过高效二进制翻译,在龙芯平台上运行ARM/Android;最后开发框架LDF形成自主编程语言和编程框架,以便用户在此平台上进行应用的开发;同时龙芯还开发自主基础应用提供用户使用,包括IE兼容的浏览器、龙芯打印驱动引擎、龙芯版.NET环境、龙芯版Java环境、龙芯音视频库、龙芯显控中间件等等。
我们从多个维度来建设应用生态,希望通过努力尽早解决这个发展过程中的问题。