zl程序教程

您现在的位置是:首页 >  其他

当前栏目

历史性时刻!ARM首次成功模拟运行x86

模拟ARM 运行 成功 首次 x86 时刻
2023-09-14 08:56:49 时间
ARM在移动领域风生水起,但是要想在桌面和服务器上占领一席之地,最大的麻烦就在于不兼容最为普及的x86代码系统和程序,而出路只有两条:要么大力推进自己的生态系统,要么模拟运行x86,就像曾经的全美达那样(下场比较惨)。

今年七月份,英国厂商Boston Server推出了基于Calxeda ARM架构处理器的服务器“Viridis”,之后也一直在披露其工作进展,近日更是豪气万丈地官方宣布了一个历史性时刻的到来:这套ARM平台第一次成功运行了x86代码!

过去一段时间里,Boston一直在和来自Eltech的工程师团队就此进行合作。这家貌似来自俄罗斯的公司正在ARM服务器上开发能够运行x86程序的软件,并且已经成功开发出了一种可作为模拟器使用的二进制转换器(binary translator),能够发挥出大约45%的原生ARM性能。

双方在Viridis平台上进行了六大类别的深入测试后,将这一模拟效率提高到了65%,并且会争取在近期继续提高到80%,乃至更高。

虽然Boston拒绝披露具体细节,但是AnandTech网站分析指出,Eltech的模拟器是实时翻译、运行x86代码的,因此整个模拟器会有些偏大,毕竟它要在两套完全不同的指令集架构之间牵线搭桥,不同于VMware那样在x86-x86之间转换。

据称,Eltech使用了1MB的转换器缓存,这意味着代码转换可以重复利用,但随着缓存逐渐填满,重复利用率就会迅速降低,而且只有相对轻便的代码才能运行得比较快,获得宣称的45-65%的转换效率。

但是我们知道,大多数服务器应用的代码和指令都很大,所以Eltech的转换器能否高效率运行它们也有待观察。高性能计算软件倒是相对不那么复杂,但这玩意儿对处理器性能要求又特别高,很难说服他们放弃x86、改用ARM再去模拟x86(何苦来着)。

总的来说,二进制转换器在特定场合下还是有用的,比如某些特定的Web应用软件不算很大,又是闭源的,没有ARM版本,但除此之外就很难说了。ARM服务器真想闯出一片天地,最稳妥的还得是催生一整套针对ARM架构完全优化编译的Linux软件。

【编辑推荐】


鲲鹏开发重点––ARM CPU的推测执行 MMU,内存管理单元,顾名思义就是用于管理内存的部件,这是CPU内部模块名,需要操作系统来进行空间配置和管理,所以,有时提到的MMU并不完全指硬件部分,也包括软件部分。其作用就是完成VA虚拟地址到PA物理地址的转换,页面大小管理,同时配置地址空间的访问属性,包括Normal(乱序访问)和Device(定序访问)进行区分,cache写回,cache写透,关闭cache等等,配置地址空间的访问权限。
英特尔发布首款独立显卡,目标内容创造者 11月1日,英特尔发布了Iris Xe Max独立显卡,这也是英特尔的第一款独立显卡,是一款面向笔记本的低功耗显卡,虽然看数据Xe Max并不非常显眼,基本就是Gen12 Xe核显的升级版,但经过评测后发现实力很强,远超MX250。