文章来源于:龙芯生态论坛第一期直播速记韩广老师分享
详细如下:
分享嘉宾:韩广 龙芯中科资深工程师
拥有10年以上应用开发经验,参与过国家电网大型项目管理平台的产品的设计和研发,在银行从事业务系统开发多年。目前专注于应用迁移,信创推广和龙芯软件生态的推广工作。
本次分享主要从三个方面进行展开说明
- 第一方面:应用迁移的本质:在龙芯电脑上为什么可以做迁移,应用迁移的理论基础
- 第二方面:待迁移应用软件分类:应用软件的分类从不同的方面进行说明,在龙芯电脑上有哪几类我们使用的应用
- 第三方面:应用软件迁移方案:应用迁移的基本步骤和一些技术细节
1.1为什么要进行应用迁移
重点解说如何把应用迁移到另外一个平台上的底层理论基础是什么?
1.2 软件迁移的本质是什么?
- 把一个应用软件从一个平台环境迁移到另一个平台环境,这个应用软件是不能够执行的,本质原因是两种平台的CPU的指令集是不同的,或者说是平台架构是不同的。
龙芯CPU采用自主研发的龙芯架构指令集
“指令集”是指一种CPU上运行的机器指令的二进制编码格式
-
龙芯架构: 龙芯自主研发和设计了龙芯架构指令集
-
X86: 常见的Intel和AMD的CPU指令集为x86架构
-
ARM:ARM公司及相关企业所采用的指令集
龙芯电脑系统不兼容传统的Windows软件
指令集差异即CPU执行逻辑差异,出现软件“不兼容”。
龙芯电脑常见操作系统(Loongnix、UOS、麒麟等)大部分来源于Linux的衍生版
龙芯电脑上的软件大部分为开源软件及国内自研软件。
1.3 龙芯和X86指令集差异具体实例
从上图中最简单的c语言代码编译成最终的CPU指令可以看出,相同的代码最终在不同的
平台架构上编译出来的机器指令是完全不同的。