免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4833 | 回复: 16
打印 上一主题 下一主题

能不能以x86指令为源码,“编译”成mips指令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-20 08:53 |只看该作者 |倒序浏览
gcc编译器先把c或c++ 编译成平台无关的中间指令,然后再把中间指令变成x86或mips或arm指令。

能否把x86指令,反编译成中间指令,再变成mips指令。

这个方案可行吗

论坛徽章:
0
2 [报告]
发表于 2009-08-20 09:04 |只看该作者
可行,二进制翻译。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
3 [报告]
发表于 2009-08-20 09:21 |只看该作者
原理上自然可以,虚拟机就是这样的.但翻译为别的汇编码呈现在你的面前的程序,这个我还不知道有没有现成的

论坛徽章:
0
4 [报告]
发表于 2009-08-20 09:55 |只看该作者
动态二进制翻译后的执行效率损失大吗? 这个是关键。

论坛徽章:
0
5 [报告]
发表于 2009-08-20 10:16 |只看该作者
如果二进制翻译能够消除CPU架构差异带来的性能损失,加上wine
那龙芯的linux, 是否能够跑x86上的windows程序

论坛徽章:
0
6 [报告]
发表于 2009-08-20 10:27 |只看该作者
原帖由 ninesunqian 于 2009-8-20 10:16 发表
如果二进制翻译能够消除CPU架构差异带来的性能损失,加上wine
那龙芯的linux, 是否能够跑x86上的windows程序


在龙芯+Linux上跑Windows,和SPARC+Linux上跑Windows,原理上都是一样的,用QEMU就完全可以做到。

论坛徽章:
0
7 [报告]
发表于 2009-08-20 10:31 |只看该作者
QEMU的效率怎么样。
比如一个不依赖其他库的纯计算的程序,在x86平台与mips平台上用qemu模拟的,性能差多少。

论坛徽章:
0
8 [报告]
发表于 2009-08-20 12:38 |只看该作者
如果是把QEMU运行在x86平台与运行在Mips平台相比,那就和各自的CPU性能有关了。

如果你的意思是说,把这个纯计算程序运行在QEMU中,与运行在真实机中相比,QEMU的性能大概相当于真实机的40%,加上KVM模块的话,能达到70-80%。

论坛徽章:
0
9 [报告]
发表于 2009-08-20 13:03 |只看该作者

回复 #8 vxasm 的帖子

不知道你说的是指什么,例如在x86上通过QEMU再跑一个x86版本的Linux,和跑一个PowerPC的Linux效率上不同吧?对于同构的情况虚拟机能做许多优化,但对于跨体系结构,则多数会慢许多。

论坛徽章:
0
10 [报告]
发表于 2009-08-20 13:17 |只看该作者
qemu确实很强,用了动态二进制翻译。target支持的架构很多, host就不支持mips, 不过相信不久就可以了。
http://www.qemu.org/status.html

kvm 是不是只能仿真x86指令?
有空研究一下,有点意思。

[ 本帖最后由 ninesunqian 于 2009-8-20 16:53 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP