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

简介:

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软件。

【编辑推荐】

目录
相关文章
【各种问题处理】X86架构和ARM架构的区别
【1月更文挑战第13天】【各种问题处理】X86架构和ARM架构的区别
|
4月前
|
传感器 物联网 网络架构
ENS、IoT设备、X86、ARM
ENS(Enterprise Name Service)是企业名称服务,是一种为物联网设备提供命名和寻址服务的技术。ENS通过为物联网设备分配唯一的名称和地址,使得物联网设备可以被网络中的其他设备和服务所识别和访问。 IoT设备(Internet of Things device)是连接到互联网的物理设备,可以收集和共享数据,用于监测、控制和优化各种业务流程和操作。IoT设备包括各种传感器、执行器、网关和路由器等。
40 2
|
4月前
|
边缘计算 编译器 数据中心
X86架构与Arm架构的主要区别分析
X86架构与Arm架构的主要区别分析
463 0
|
5月前
|
Docker 容器
x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建
x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建
326 0
|
1月前
|
存储 机器学习/深度学习 并行计算
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下不同类型的云服务器有何不同,主要特点及适用场景有哪些。
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
|
7月前
|
弹性计算 运维 Cloud Native
阿里云罗晶分享 | X86+ARM,容器服务 ACK 多架构应用部署最佳实践
2023年8月31日,系列课程第五节《X86+ARM,容器服务ACK多架构应用部署最佳实践》正式上线,由阿里云云原生应用平台产品专家罗晶主讲,内容涵盖:容器服务ACK简介;ACK支持倚天ARM实例;ACK多架构应用部署最佳实践。
|
5月前
|
网络协议 Linux 网络安全
Linux 利用 qemu-system-aarch64 实现 x86 机器安装 arm64 的操作系统 2
Linux 利用 qemu-system-aarch64 实现 x86 机器安装 arm64 的操作系统
90 0
|
5月前
|
存储 编解码 Linux
Linux 利用 qemu-system-aarch64 实现 x86 机器安装 arm64 的操作系统 1
Linux 利用 qemu-system-aarch64 实现 x86 机器安装 arm64 的操作系统
212 0
|
5月前
|
存储 数据库 C语言
Hawkeyes: x86软件迁移Arm的弱内存序问题解决方案
本文介绍了x86软件迁移到Arm过程中可能遇到的弱内存序问题的解决方案,解析了弱内存序问题的根因,介绍了Hawkeyes的架构和实现原理。欢迎有需求的团队发送邮件咨询
600 0
|
7月前
|
弹性计算 Java 芯片
阿里云张伟分享 | 软件跨架构迁移(x86->ARM)的原理及实践
2023年8月31日,系列课程第四节《软件跨架构迁移(X86 -> ARM)的原理及实践》正式上线,由阿里云弹性计算架构师主讲,内容涵盖:ARM与x86架构的差异分析;软件跨架构迁移的原理;软件迁移策略制定、环境准备、执行、测试优化及持续部署与维护等;以及软件迁移的全流程解读。
阿里云张伟分享 | 软件跨架构迁移(x86->ARM)的原理及实践