Posts Tagged ‘x86’

JPC - 虚拟机 Java 实现

Wednesday, June 20th, 2007

牛津的 JPC 开源啦。

JPC 是个 Java 编写的 X86 虚拟机,牛津 Particle Physics 系 2005 年 8 月开始的工作。采用 Java 貌似是个奇怪的选择,不过这倒扩充了 JPC 能够运行的场合,开发者自己已经用 x86 机器,Nokia 9500 communicator 和 ARM9 开发板运行 JPC 了。JPC 目前模拟了大多数常见 PC 外设,比如键盘,鼠标,硬盘,VGA 输出和以太网口。
此前也有一些模拟器选择 Java 实现,比如 Commodore 64, Atari ST, NintendoZX Spectrum 这些。不过 X86 PC 几乎没有走这条路的。JPC 的纯 Java 实现能够达到最高 10% 的 native 速度,不算很高,不过已经是同类里最快的了。

X86 架构的实模式和保护模式 JPC 都支持,不过实模式的 native 执行速度最高能到 10%。保护模式实现目前还未到 release 质量,所以无数据可参考。

[tags]jpc, java, oxford, emulator, software, x86, virtual machine, 牛津[/tags]

RISC on Intel

Tuesday, April 4th, 2006

四海一统Intel?

news.com 3月6号有篇文章 Partnership set to run RISC software on Intel chips 介绍了 Intel 与一家 starup 的合作。

这家叫 Transitive 的公司主攻模拟/转换技术,产品叫 QuickTransit,Intel 看中的是用它可以让那些为其他 RISC 处理器编写的程序能运行在自己产品上,当然,也没别的,Itanium 2 和 Xeon 自然是重点。Transitive 在今年 San Francisco 的 IDF 上宣布了和 Intel 的合作,要命的是这小子只含糊地说为某某 RISC 芯片编写的软件能在 Intel 处理器上运行,不清楚是 SUN 的 Sparc,HP 的 PA-RISC 或 Alpha,还是IBM 的 Power,抑或 SGI 的 MIPS?

Intel 会资助小兄弟的相关开发,并提供 Transitive 和 Intel 工程师间的技术沟通,以便加速后者在芯片-操作系统结合方面的工作。Intel 还会帮助推广其产品并同其他软件厂商协调。我们这样的最终客户,可能是会从电脑制造商那,透明或不透明地,获取 Transitive 的产品。

在 Transitive 公开宣布的客户中--有些家伙就是喜欢穿夜行衣--Intel 是第三家。第一个是一副衰像的 Silicon Graphics,去年夏天 SGI 用此软件让那些为老MIPS芯片(他们的 Irix 系统)编写的软件能运行在他们新的 Itanium Altix 系统上。
第二家客户嘛,白白的 Apple 咯。在世人瞩目的转向x86的运作中,Apple 当然不能冒天下之大不韪--尽管它经常冒天下之大不韪--抛弃已有的 PowerPC 软件和 PowerPC 用户。他们用来保证向 PPC 兼容的 Rosetta 就是基于 Transitive 的产品--不过目前 Final Cut Pro, Motion, Soundtrack Pro, DVD Studio Pro 等等专业应用还不能被 Rosetta 支持。

像这样允许其他arch的二进制在另一种arch上运行的,模拟/仿真类软件,在推动大规模迁移或者技术演示方面比较有用,再走下去的话,似乎死不了,但也做不大。
Transitive 网站上列出了目前的4个产品:
    QuickTransit® for Itanium:为 MIPS®, POWER™, PowerPC™, x86 或大型主机处理器(哪些?!也不说清楚)编写的程序运行在Itanium上。
    QuickTransit® for x86:简单同上,去掉一个 x86 就是,不支持 Itanium 到 x86。
    QuickTransit® for Power™/PowerPC™:只支持 MIPS®, x86 来的程序。
    QuickTransit® for Opteron :只支持 MIPS®, POWER™, PowerPC™。
看看就很清楚了,没有从 Itanium 到其他的转换。为什么?Intel 会合作并资助一家开发能让各大财主从 Itanium 转走的软件?IA32 架构的虽然可以转出也非常有限,因为这好歹是个转换软件的最低要求吧;再者恐怕也因为 Intel 仍然认为在高端计算领域,Itanium 才是主角,x86 转转也无所谓啦。
目前所有这些 QuickTransit 产品都只支持 UNIX/Linux 之间的互相转换,还没其他系统的份儿。同样没有的是 Sparc 的身影,Sun 拥有 UNIX 世界里最大的装机量,从 Sparc 转到 Itanium 似乎是能给不争气的 Scott McNealy 的一记大嘴巴。估计 Intel 和 Transitive 正加紧干着。从客户角度来说,即便他们仍有几分对 Itanium 的不确定,不过 IA32 的现状和前景--虽然已经30年,仍然纵横四海,活力四射--应该能够让他们下定决心从 RISC/UNIX 转向 Intel。

本质上,Transitive 肯定可以做到任何处理器间互换,其网站上也说了“Virtually Any Processor Pair Supported”,关键看老板的指挥棒往哪儿指了。在其前端解码,后端代码生成和中间优化层3个角色中,优化层是独立和arch无关的,只动先后打交道的模块即可。他们还许诺能达到Native Recompilation 的 80% performance --来自其专有的优化技术--和类似的14天美白口水战一样,我倒是关心这个数字怎么计算怎么衡量的,面对可能的成百上千万美元的business,玩儿文字游戏大家可都不感冒。另一两点是Transparent Graphics Performance,在图形方面的表现,在第一人称视角设计游戏中,据说表现良好。Transitive 说QuickTransit 大小只有1M,内存则根据被转换程序不同而需求不同,在 server 或 workstation 上 20-30M 内存可以工作,低端系统则需要的更少。

[tags]intel, cpu, risc, transitive, quicktransit, x86, mips, sgi[/tags]