龍芯自主指令集二進位翻譯應用:可流暢打CS
龍芯中科宣佈,推出基於自主指令系統LoongArch的二進位翻譯應用解決方案,二進位翻譯為核心技術,旨在消除指令壁壘,實現不同平台軟體的相容運行。 支持場景包括MIPS、x86、ARM平臺上廠商已停止支援的老舊軟硬體,以及廠商無法提供充分技術支援的商業閉源軟體。
官方稱,龍芯架構具有完全自主、技術先進、相容生態三方面特點,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的作業系統級別相容,支援多平臺應用在龍芯平臺的運行。
– 自主
與龍芯自主指令集設計深度協同,通過持續優化改進翻譯器和指令集,實現更高效的翻譯與更廣泛的相容性。
通過龍芯二進位翻譯系統,基於wine中間件技術,可以在龍芯平臺上流暢運行常用桌面應用,如微信、Photoshop等等。
它還支持硬體加速,可加速音視頻、3D等應用場景,比如流暢運行CS等3D遊戲,後續還將不斷適配更多x86應用。
目前,龍芯二進位翻譯技術已經落地多個解決方案場景,比如龍芯辦公外設利舊通用解決方案(虛擬列印)。