欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

龙芯自主指令集二进制翻译应用:可流畅打CS

程序员文章站 2022-07-10 13:18:40
龙芯中科宣布,推出基于自主指令系统loongarch的二进制翻译应用解决方案,二进制翻译为核心技术,旨在消除指令壁垒,实现不同平台软件的兼容运行。支持场景包括mips、x86、arm平台上厂商已停止支...

龙芯中科宣布,推出基于自主指令系统loongarch的二进制翻译应用解决方案,二进制翻译为核心技术,旨在消除指令壁垒,实现不同平台软件的兼容运行。

支持场景包括mips、x86、arm平台上厂商已停止支持的老旧软硬件,以及厂商无法提供充分技术支持的商业闭源软件。

龙芯自主指令集二进制翻译应用:可流畅打CS

官方称,龙芯架构具有完全自主、技术先进、兼容生态三方面特点,loongarch指令集也在设计之初就充分考虑了生态兼容需求,把实现将异构平台现有应用软件平滑迁移到龙芯平台作为设计目标。

除了基础指令、虚拟机扩展指令等指令外,loongarch还包含二进制翻译扩展指令,以支持龙芯二进制翻译系统对其他架构下二进制指令的高效翻译。

龙芯二进制翻译系统基于loongarch二进制翻译扩展指令实现,利用软硬件结合的翻译优化技术,实现跨指令集、跨操作系统间的应用兼容、高效运行。

龙芯二进制翻译应用解决方案通过三个龙芯二进制翻译系统latm(lat from mips)、lata(lat from arm)、latx(lat from x86),分别支持mips、arm、x86平台的应用在龙芯平台的安装运行。

龙芯二进制翻译系统作为中间层,通过架构层支持与软硬协同算法优化,充分利用本地硬件,最大化提升模拟效率,为上层应用软件提供目标指令集的良好虚拟运行环境。

龙芯自主指令集二进制翻译应用:可流畅打CS

二进制翻译技术是实现跨指令系统兼容的重要手段,通过在宿主机(host)上用软件模拟目标机/客户机(guest)指令系统兼容的cpu,从而在宿主机上执行客户机的二进制代码,达到兼容的目的。

该方案的最大问题是效率,因为纯软件模拟的cpu,要比硬件直接实现的cpu慢很多,运行速度往往都是数量级的差异。

龙芯二进制翻译系统利用动态二进制翻译技术,使用了多种软硬件结合的翻译优化技术,利用loongarch指令集二进制翻译扩展提供的eflags运算标志指令与浮点特殊寻址模式支持,大幅减少翻译代价,提升二进制翻译程序的运行效率。

龙芯二进制翻译解决方案的三大优势:

- 高效

基于软硬件结合的高效二进制翻译技术,比传统软件模拟方式有数量级的性能提升。应用级翻译实现对3d加速、视频编解码等功能的硬件支持。

- 兼容

跨指令集应用兼容运行,通过wine中间件可实现windows到linux的操作系统级别兼容,支持多平台应用在龙芯平台的运行。

- 自主

与龙芯自主指令集设计深度协同,通过持续优化改进翻译器和指令集,实现更高效的翻译与更广泛的兼容性。

通过龙芯二进制翻译系统,基于wine中间件技术,可以在龙芯平台上流畅运行常用桌面应用,如微信、photoshop等等。

龙芯自主指令集二进制翻译应用:可流畅打CS

它还支持硬件加速,可加速音视频、3d等应用场景,比如流畅运行cs等3d游戏,后续还将不断适配更多x86应用。

龙芯自主指令集二进制翻译应用:可流畅打CS

目前,龙芯二进制翻译技术已经落地多个解决方案场景,比如龙芯办公外设利旧通用解决方案(虚拟打印)。

龙芯自主指令集二进制翻译应用:可流畅打CS

- the end -

转载请注明出处:快科技