共查询到19条相似文献,搜索用时 37 毫秒
2.
张妍 《计算机应用与软件》2011,28(12)
二进制翻译技术是从一种指令集到其他指令集的代码转换技术,可用以解决移植代码到新硬件平台时的重编译问题。旨在设计和实现一种DOS环境模拟器。该模拟器基于动态二进制指令转换技术,通过对X86指令的动态翻译,结合对外设模拟技术、系统中断模拟方案等一些关键技术的研究,最终使得原先在DOS系统中运行的应用程序无需重新编译,就能在多种异构体系平台上正确地运行。通过对翻译块进行有效的组织管理,使得该动态翻译得到很好的运行性能。 相似文献
3.
也许是中了iPod的毒,虽然我一直用x86电脑在Lan Party和Internet上玩游戏,但拥有一台X86的苹果电脑的梦想一直都在我心中。在无法从乔布斯先生那里得到帮助的情况下,我只能依靠自己了,这也是我今天这款作品诞生的原因。结合iMac和iPod的风格,我将自己这款作品取了个漂亮的名字——iMod。 相似文献
4.
上一期我们对虚拟化技术作了简要的回顾。并对x86指令集固有的虚拟化漏洞进行了解析.相信大家已经对英特尔和AMD(英特尔VT和AMD-V)是如何解决x86虚拟化漏洞提起了兴趣。本期我们就一点点地揭开处理器巨头身上的虚拟化标签。 相似文献
5.
介绍了一个静态二进制翻译系统,详细说明了系统各部分的功能和具体实现方法。该系统将x86可执行文件翻译为MIPS目标代码并由MIPS机器执行,且实施了一定的优化。 相似文献
6.
2005年11月2日,英特尔公司宣布开始发运其首款面向四路或多路服 务器的双内核处理器Xeon-MP 7000系列,随之而来的还有英特尔最新虚拟 化技术——第一代VT技术。这是x86系统首次在硬件上具备支持虚拟化的功 能。11月15日,英特尔再次宣布推出支持VT技术的台式机奔腾4处理器662 和672,使得台式机也首次具备了硬件支持的虚拟化功能。2006年,英特尔 的高端服务器处理器安腾以及移动处理器都将支持VT技术。 英特尔一系列具备虚拟化功能的处理器的发布,拉开了x86虚拟化时代 的序幕。 相似文献
7.
8.
9.
10.
一个用户级动态二进制翻译系统的设计与实现 总被引:1,自引:0,他引:1
本文介绍了一个x86 Linux系统下动态二进制翻译系统的设计与实现,该系统将IA-32用户级整数代码翻译到一个RISC指令集并由模拟器执行目标代码;详细描述了该系统的总体组成、目标结构模拟器、代码翻译过程以及翻译过的代码的执行。 相似文献
11.
Tracing is often the most effective technique for analyzing the performance of complex multithreaded applications. This paper presents an improvement on existing techniques for dynamic tracepoint insertion. To add a tracepoint, the technique inserts a jump at the tracing point, possibly replacing several shorter instructions. This jump embeds trap instructions inside its offset at the address of every replaced instruction. This makes the jump thread safe if any thread is about to execute a replaced instruction. It also makes it jump safe if a jump landing pad is at one of the replaced instructions. In both cases, a trap will be raised, and the thread can be redirected to the out-of-line equivalent instruction. The use of a jump instead of a trap to execute the tracepoint improves the performance of the execution. It also adds the flexibility to place the tracepoint at almost any instruction, since multiple instructions can be replaced atomically and safely. The downside of this technique is the increased memory usage, since it requires unaligned allocations with high external fragmentation. 相似文献
12.
It is a major challenge for a Java JIT compiler to perform single-precision floating-point operations efficiently for the x86 processors. In previous research, the double-precision mode is set as the default precision mode when methods are invoked. Sophisticated approaches then use heuristic approaches to optimization by considering the trade-offs between roundings and mode switches. However, this convention introduces redundant mode switches across method boundaries. Furthermore, methods that include both single- and double-precision operations cannot switch the mode, even if single-precision operations are dominant. We propose a new approach to these problems. We eliminate redundant mode switches by ignoring the default precision mode and calling a method in the same precision mode as the caller. For methods that include both single- and double-precision methods, we reduce the overhead of rounding by isolating code segments of a given method that should be executed in the single-precision mode. We implemented our approach in IBM's Just-in-Time compiler, and obtained experimental results demonstrating that, in SPECjvm98, it consistently shows the best performance in any configuration of benchmark programs, inline policies, and processor architectures compared with previous research approaches. Copyright © 2004 John Wiley & Sons, Ltd. 相似文献
13.
ZHANG Chen 《数字社区&智能家居》2008,(30)
该文阐述如何根据操作系统的原理和x86CPU的运行机制设计并实现一个简单的操作系统内核,并详细描述了其中内存管理,进程管理,以及磁盘文件系统的设计与实现方法。该系统的实现将有利于从微观上观察操作系统的行为特征,更好地学习、理解和实践微内核机制,也有利于对Linux内核的研究学习。 相似文献
14.
二进制翻译系统是一种基于软件的跨平台代码迁移系统,它将一种体系结构的二进制代码翻译成另一种体系结构的二进制代码.二进制翻译可以用于解决遗产代码的迁移问题,也可以实现不同硬件平台之间软件的通用.浮点栈的处理已成为以X86为源的二进制翻译的研究中的关键性问题之一,如何处理X86浮点栈问题直接关系到以X86为源的二进制翻译系统的性能.针对X86浮点寄存器栈的特征,提出了一种扩展虚拟栈(extending virtual stack)处理方案.它采用归一的方法,保证了每个基本块中的运算所涉及到的浮点寄存器可以直接映射到目标机器中的浮点寄存器,确保了翻译的效率,并利用翻译时的分析避免了在入口处不必要的判断;同时还给出了在基本块入口处判别一个基本块是否会出现浮点栈上溢和下溢的充分必要条件,为生成更加高效的代码提供了条件.实验表明,它能够在保证正确实现其功能的前提下,获得更好的执行效率. 相似文献
15.
Android系统中Win32环境的高性能虚拟 总被引:1,自引:0,他引:1
针对Win32应用程序无法直接在Android系统中运行的问题,提出了一套高性能的虚拟Win32环境实现方案。通过将x86程序以翻译块(TB)为单位动态地翻译为高级精简指令集机器(ARM)指令并执行,解决了指令集不兼容的问题。同时,借助Wine这一兼容层将Win32 API调用最终转换为Linux系统调用,从而避免对整个操作系统的虚拟。此外,图形系统采用以虚拟Framebuffer为后端的X显示服务,并通过虚拟网络计算(VNC)协议完成图像在物理屏幕上的显示,以实现X窗口系统与Android图形系统的适配。经测试,系统本身的初始化时间小于30 s,内存占用小于150 MB,而其图形界面渲染、文件读写和浮点运算性能普遍可达系统级虚拟方案的4倍以上。实验结果表明,该框架具有启动速度快、资源占用低的特点,能够在Android系统中提供Win32环境的高性能虚拟。 相似文献
16.
二进制翻译是不同体系结构之间软件移植的重要手段。体系结构和硬件环境上的差别,可以通过二进制翻译系统来弥补,在翻译过程中往往使用多条本地指令模拟一条目标指令,翻译代码规模随之显著增加,从而导致被翻译程序的执行效率下降。寄存器作为处理器和内存交换信息的重要存储部件,寄存器的模拟器方式对于程序的性能有着至关重要的影响。为了提高特定平台翻译后代码的执行效率,提出了在动态二进制翻译机制中使用全部寄存器直接映射方法,详细分析了二进制翻译中的上下文切换原理和寄存器访问范围,为异构平台之间寄存器直接映射提供方法指导。利用QEMU模拟器,把x86架构的8个通用寄存器全部的直接映射到MIPS架构的对应寄存器,在此基础上,进行大量的指令翻译规则的简化。实验数据表明,该方法可以有效简化指令翻译,降低代码膨胀率,使得SPEC CINT 2000测试程序在龙芯CPU上翻译后代码运行时间下降了30%-40%。 相似文献
17.
提出一种x86服务器虚拟化平台的性能测试系统。该系统支持Xen、VMware ESXi和Microsoft Hyper-V这3种虚拟化平台,可对平台上的虚拟服务器进行性能测试,同时获取虚拟化平台的性能数据。运用该系统对3种虚拟化平台完成性能测试,结果表明,Xen半虚拟化技术具有性能优势,而ESXi的总体表现最好。 相似文献
18.
IT产业的快速发展使得x86平台硬件技术有了巨大进步,而虚拟化成为x86平台继续发展的必然趋势。文章介绍了目前x86平台虚拟化技术的主要软件架构,论述了x86平台硬件辅助虚拟化所涉及的关键技术,分析了虚拟化技术应用的优势。最后,对虚拟化技术的前景进行了展望。 相似文献
19.
We consider the interaction of weakly atomic Software Transactional Memory (STM) providing single global lock atomicity with the x86 memory consistency model. We show that a practical design for such an STM requires that some program behaviour be disallowed, due to the strictness of the x86 memory consistency model in comparison to the language level memory models hitherto considered in weakly atomic STM designs. We present the design and construction of such an STM that disallows races between a transactional read and a non-transactional write. We also report on a practical application of this STM to elide legacy locks in x86 binaries. This allows software transactional memory to be applied without requiring software to be a priori written with awareness of transactional memory and without any restriction on source language or compiler. As an example, we show how a mainstream multiplayer game can use transactional memory with zero changes and 11% overhead over language level transactional memory, which requires over 700 annotations and severely restricts software development. 相似文献