资源简介
龙芯的胡伟武在“2020年CCF全国计算机体系结构学术年会”上作报告:《指令系统的自主与兼容》时的PPT展示内容。这是在线观看时屏幕截图重新制作PPT。
内容总结:
1、LoongArch 是全新的指令集,不是在 MIPS 上做的扩展。包含基础指令 337 条、虚拟机扩展 10 条、二进制翻译扩展 176 条、128 位向量扩展 1024 条、256 位向量扩展 1018 条,共计 2565 条原生指令。
2、LoongArch 的"指令格式"是 MIPS 的超集,仍为RISC且兼容MIPS指令格式,但二进制不同。大部分 MIPS 指令可以直接映射为 LoongArch 指令,且龙芯的编译器已经实现把 MIPS 汇编编译为 LoongArch 二进制。
3、龙芯提供基于 LoongArch 的 Linux 操作系统,在此操作系统中除了运行原生的 LoongArch 程序,还能通过翻译的方式兼容 MIPS、x86、ARM、RISC-V 这几种指令集的 Linux 程序。
4、龙芯的二进制翻译与 qemu 的软件翻译不同,龙芯是软硬件结合方式。qemu 软件跨体系翻译一般只有 5% ~ 20% 的性能,龙芯的翻译相对于 qemu 在整数运算方面有数倍提升,而在浮点运算方面有数十倍的性能提升。
5、翻译执行 MIPS 目标为 100% 的原生性能,翻译执行 ARM 目标为 90% 原生性能,翻译执行 x86 目标为 80% 原生性能,并可通过某种方式安装运行 Windows,对 Windows 的整体翻译执行目标为 70% 原生性能。
6、从当前已有的测试结果来看,把 C/C++ 代码编译为 MIPS 和 LoongArch 分别运行测试,LoongArch 比 MIPS 有近 17% 的性能提升,翻译执行 MIPS 平均性能在 100% 左右。
7、龙芯 2020 年之后生产的 CPU 都不再原生支持 MIPS,但因为可以 100% 翻译执行 MIPS,所以以前的 MIPS 生态仍然完全兼容,但以后会以发展 LoongArch 原生生态为主。
8、将会成功组建自主指令系统联盟,联盟成员免费使用 LoongArch 指令集,联盟成员可以免费获得龙芯的低于 ARM A53 性能的那些CPU核心设计,联盟成员之间不发生指令系统诉讼(防止Intel/ARM等挤进来,它们一旦加入就相当于x86/ARM指令集充公了)。
评论
共有 条评论