選單

龍芯自主指令集二進位制翻譯應用:可流暢打CS

龍芯中科宣佈,推出基於自主指令系統LoongArch的二進位制翻譯應用解決方案,二進位制翻譯為核心技術,旨在消除指令壁壘,實現不同平臺軟體的相容執行。

支援場景包括MIPS、x86、ARM平臺上廠商已停止支援的老舊軟硬體,以及廠商無法提供充分技術支援的商業閉源軟體。

龍芯自主指令集二進位制翻譯應用:可流暢打CS

官方稱,龍芯架構具有完全自主、技術先進、相容生態三方面特點,

LoongArch指令集也在設計之初就充分考慮了生態相容需求

,把實現將異構平臺現有應用軟體平滑遷移到龍芯平臺作為設計目標。

除了基礎指令、虛擬機器擴充套件指令等指令外,LoongArch還包含二進位制翻譯擴充套件指令,以支援龍芯二進位制翻譯系統對其他架構下二進位制指令的高效翻譯。

龍芯二進位制翻譯系統基於LoongArch二進位制翻譯擴充套件指令實現,利用軟硬體結合的翻譯最佳化技術,實現跨指令集、跨作業系統間的應用相容、高效執行。

龍芯二進位制翻譯應用解決方案透過三個龍芯二進位制翻譯系統LATM(LAT from MIPS)、LATA(LAT from ARM)、LATX(LAT from X86),分別支援MIPS、ARM、x86平臺的應用在龍芯平臺的安裝執行。

龍芯二進位制翻譯系統作為中間層,透過架構層支援與軟硬協同演算法最佳化,充分利用本地硬體,最大化提升模擬效率,為上層應用軟體提供目標指令集的良好虛擬執行環境。

二進位制翻譯技術是實現跨指令系統相容的重要手段,透過在宿主機(host)上用軟體模擬目標機/客戶機(guest)指令系統相容的CPU,從而在宿主機上執行客戶機的二進位制程式碼,達到相容的目的。

該方案的最大問題是效率,因為純軟體模擬的CPU,要比硬體直接實現的CPU慢很多,執行速度往往都是數量級的差異。

龍芯二進位制翻譯系統利用動態二進位制翻譯技術,使用了多種軟硬體結合的翻譯最佳化技術,利用LoongArch指令集二進位制翻譯擴充套件提供的EFLAGS運算標誌指令與浮點特殊定址模式支援,大幅減少翻譯代價,提升二進位制翻譯程式的執行效率。

龍芯二進位制翻譯解決方案的三大優勢:

- 高效

基於軟硬體結合的高效二進位制翻譯技術,比傳統軟體模擬方式有數量級的效能提升。應用級翻譯實現對3D加速、影片編解碼等功能的硬體支援。

- 相容

跨指令集應用相容執行,透過wine中介軟體可實現Windows到Linux的作業系統級別相容,支援多平臺應用在龍芯平臺的執行。

- 自主

與龍芯自主指令集設計深度協同,透過持續最佳化改進翻譯器和指令集,實現更高效的翻譯與更廣泛的相容性。

龍芯自主指令集二進位制翻譯應用:可流暢打CS

它還支援硬體加速,可加速音影片、3D等應用場景,比如流暢執行CS等3D遊戲

,後續還將不斷適配更多x86應用。

龍芯自主指令集二進位制翻譯應用:可流暢打CS

目前,龍芯二進位制翻譯技術已經落地多個解決方案場景,比如龍芯辦公外設利舊通用解決方案(虛擬列印)。

龍芯自主指令集二進位制翻譯應用:可流暢打CS