会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 12. 发明申请
    • FLEXIBLE ACCELERATION OF CODE EXECUTION
    • 代码执行的灵活加速
    • US20140096132A1
    • 2014-04-03
    • US13631408
    • 2012-09-28
    • Cheng WangYoufeng Wu
    • Cheng WangYoufeng Wu
    • G06F9/455G06F9/00
    • G06F9/4552G06F8/44G06F9/45516G06F9/45533G06F9/45554Y02D10/26Y02D10/28
    • Technologies for performing flexible code acceleration on a computing device includes initializing an accelerator virtual device on the computing device. The computing device allocates memory-mapped input and output (I/O) for the accelerator virtual device and also allocates an accelerator virtual device context for a code to be accelerated. The computing device accesses a bytecode of the code to be accelerated and determines whether the bytecode is an operating system-dependent bytecode. If not, the computing device performs hardware acceleration of the bytecode via the memory-mapped I/O using an internal binary translation module. However, if the bytecode is operating system-dependent, the computing device performs software acceleration of the bytecode.
    • 在计算设备上执行灵活代码加速的技术包括在计算设备上初始化加速器虚拟设备。 计算设备为加速器虚拟设备分配内存映射输入和输出(I / O),并为加速的代码分配加速器虚拟设备上下文。 计算设备访问要加速的代码的字节码,并确定字节码是否是依赖于操作系统的字节码。 如果不是,计算设备通过使用内部二进制翻译模块的内存映射I / O执行字节码的硬件加速。 但是,如果字节码与操作系统有关,则计算设备执行字节码的软件加速。
    • 13. 发明申请
    • EXECUTION USING MULTIPLE PAGE TABLES
    • 执行使用多个页表
    • US20140082253A1
    • 2014-03-20
    • US13997642
    • 2012-05-09
    • Mike B. Macpherson
    • Mike B. Macpherson
    • G06F12/08
    • G06F12/0802G06F9/06G06F9/30G06F9/455G06F9/45533G06F9/45554G06F9/45558G06F12/1009G06F12/1036G06F2009/45583G06F2212/151G06F2212/656G06F2212/657
    • Embodiments of techniques and systems for execution of code with multiple page tables are described. In embodiments, a heterogenous system utilizing multiple processors may use multiple page tables to selectively execute appropriate ones of different versions of executable code. The system may be configured to support use of function pointers to virtual memory addresses. In embodiments, a virtual memory address may be mapped, such as during a code fetch. In embodiments, when a processor seeks to perform a code fetch using the function pointer, a page table associated with the processor may be used to translate the virtual memory address to a physical memory address where code executable by the processor may be found. Usage of multiple page tables may allow the system to support function pointers while utilizing only one virtual memory address for each function that is pointed to. Other embodiments may be described and claimed.
    • 描述用于执行具有多个页表的代码的技术和系统的实施例。 在实施例中,利用多个处理器的异构系统可以使用多个页表来选择性地执行可执行代码的不同版本的适当的一个。 该系统可以被配置为支持使用虚拟存储器地址的功能指针。 在实施例中,可以映射虚拟存储器地址,诸如在代码获取期间。 在实施例中,当处理器试图使用功能指针执行代码提取时,可以使用与处理器相关联的页表将虚拟存储器地址转换为物理存储器地址,其中可以找到可由处理器执行的代码。 多页表的使用可能允许系统支持功能指针,同时仅针对指向的每个功能只使用一个虚拟内存地址。 可以描述和要求保护其他实施例。
    • 16. 发明申请
    • METHOD AND APPARATUS FOR PROTECTING TRANSLATED CODE IN A VIRTUAL MACHINE
    • 用于保护虚拟机中的转换代码的方法和装置
    • US20100333090A1
    • 2010-12-30
    • US12495367
    • 2009-06-30
    • Gregory M. WrightChristopher A. VickPeter B. Kessler
    • Gregory M. WrightChristopher A. VickPeter B. Kessler
    • G06F9/455G06F12/00G06F12/10G06F11/00G06F11/08
    • G06F9/45558G06F9/45516G06F9/45554G06F2009/45583
    • One embodiment provides a system that protects translated guest program code in a virtual machine that supports self-modifying program code. While executing a guest program in the virtual machine, the system uses a guest shadow page table associated with the guest program and the virtual machine to map a virtual memory page for the guest program to a physical memory page on the host computing device. The system then uses a dynamic compiler to translate guest program code in the virtual memory page into translated guest program code (e.g., native program instructions for the computing device). During compilation, the dynamic compiler stores in a compiler shadow page table and the guest shadow page table information that tracks whether the guest program code in the virtual memory page has been translated. The compiler subsequently uses the information stored in the guest shadow page table to detect attempts to modify the contents of the virtual memory page. Upon detecting such an attempt, the system invalidates the translated guest program code associated with the virtual memory page.
    • 一个实施例提供一种保护支持自修改程序代码的虚拟机中的翻译的客户机程序代码的系统。 当在虚拟机中执行访客程序时,系统使用与访客程序和虚拟机相关联的来宾影子页面表将客机程序的虚拟存储器页面映射到主计算设备上的物理存储器页面。 然后,系统使用动态编译器将虚拟存储器页面中的客户程序代码翻译成客户程序代码(例如,用于计算设备的本地程序指令)。 在编译期间,动态编译器存储在编译器影子页表中,并且客户影子页表信息跟踪虚拟内存页中的访客程序代码是否已被翻译。 编译器随后使用存储在客人影子页表中的信息来检测修改虚拟内存页面内容的尝试。 在检测到这样的尝试时,系统使与虚拟存储器页面相关联的经翻译的访客程序代码无效。
    • 17. 发明申请
    • COMPUTER SYSTEM
    • 电脑系统
    • US20090083829A1
    • 2009-03-26
    • US12234131
    • 2008-09-19
    • David A. Peterson
    • David A. Peterson
    • G06F21/00G06F9/54
    • G06F9/45558G06F9/45554G06F15/16G06F21/53
    • The present invention is directed to computer systems, methods and/or hardware where one or more guest operating systems exchange instructions with the processing hardware (see DEFINITIONS section) through a controller kernel. Even though the instructions are exchanged through the controller kernel, rather than directly between the OS and the processing hardware, the controller kernel does not change the instructions out of native form. The controller kernel refrains from virtualizing or emulating the instructions. For this reason, the controller kernel cannot be considered to be and/or include middleware, a hypervisor or VMM. The use of the controller kernel can be helpful in computer systems with multiple guest OS's because it allows multiple containerized OS's to simultaneously run on a single set of processing hardware. For example, the multiple containerized OS's can be used to run multiple terminals. The use of the controller kernel may also be useful even if there is a single guest operating system. For example, a LINUX controller kernel has been found to speed up the operation of the Windows Vista operating system running as the guest OS, relative to the speed of Windows Vista running directly on the same processing hardware in the conventional way.
    • 本发明涉及计算机系统,方法和/或硬件,其中一个或多个客户机操作系统通过控制器内核与处理硬件(参见定义部分)交换指令。 即使通过控制器内核交换指令,而不是直接在操作系统和处理硬件之间交换指令,控制器内核不会以本机形式更改指令。 控制器内核不会虚拟化或模拟指令。 因此,控制器内核不能被认为是和/或包括中间件,管理程序或VMM。 控制器内核的使用对于具有多个客户操作系统的计算机系统可能是有用的,因为它允许多个集装箱操作系统在单个处理硬件集上同时运行。 例如,多个集装箱操作系统可用于运行多个终端。 即使存在单个客户机操作系统,使用控制器内核也可能是有用的。 例如,已经发现LINUX控制器内核加速了作为客户操作系统运行的Windows Vista操作系统的操作,相对于以常规方式直接在相同处理硬件上运行的Windows Vista的速度。
    • 18. 发明授权
    • Switching between multiple software entities using different operating modes of a processor in a computer system
    • 在计算机系统中使用处理器的不同操作模式在多个软件实体之间切换
    • US07478388B1
    • 2009-01-13
    • US10829780
    • 2004-04-21
    • Xiaoxin ChenAlberto J. MunozSahil RihanRobert D. Manchester
    • Xiaoxin ChenAlberto J. MunozSahil RihanRobert D. Manchester
    • G06F9/455
    • G06F9/45554
    • A processor has multiple operating modes, such as the long/compatibility mode, the long/64-bit mode and the legacy modes of the x86-64 microprocessor. Different software entities execute in different ones of these operating modes. A switching routine is implemented to switch from one operating mode to another and to transfer control from one software entity to another. The software entities may be, for example, a host operating system and a virtual machine monitor. Thus, for example, a virtual computer system may comprise a 64-bit host operating system and a 32-bit virtual machine monitor, executing on an x86-64 microprocessor in long mode and legacy mode, respectively, with the virtual machine monitor supporting an x86 virtual machine. The switching routine may be implemented partially or completely in an identity-mapped memory page. Execution of the switching routine may be initiated by a driver that is installed in the host operating system of a virtual computer system.
    • 处理器具有多种操作模式,例如长/兼容性模式,长/ 64位模式和x86-64微处理器的传统模式。 不同的软件实体在不同的这些操作模式下执行。 实现切换例程以从一种操作模式切换到另一种操作模式,并将控制从一个软件实体转移到另一个软件实体。 软件实体可以是例如主机操作系统和虚拟机监视器。 因此,例如,虚拟计算机系统可以包括64位主机操作系统和32位虚拟机监视器,分别以长模式和传统模式在x86-64微处理器上执行,虚拟机监视器支持 x86虚拟机。 切换例程可以部分地或完全地实现在身份映射的存储器页面中。 可以由安装在虚拟计算机系统的主机操作系统中的驱动程序启动切换例程的执行。
    • 19. 发明申请
    • Apparatus for executing programs for a first computer architechture on a computer of a second architechture
    • 用于在第二建筑物的计算机上执行用于第一计算机建筑物的程序的装置
    • US20080216073A1
    • 2008-09-04
    • US11904007
    • 2007-09-25
    • John S. YatesMatthew F. StorchSandeep NijhawanDale R. JurichKorbin S. Van Dyke
    • John S. YatesMatthew F. StorchSandeep NijhawanDale R. JurichKorbin S. Van Dyke
    • G06F9/46
    • G06F9/45554G06F9/30174G06F9/30189G06F9/3861
    • Executing programs coded in an instruction set of a first computer on a computer of a second, different architecture. An operating system maintains an association between each one of a set of concurrent threads and a set of computer resources of the thread's context. Without modifying a pre-existing operating system of the computer, an entry exception is establishing to be raised on each entry to the operating system at a specified entry point or on a specified condition. The entry exception has an associated entry handler programmed to save a context of an interrupted thread and modify the thread context before delivering the modified context to the operating system. A resumption exception is established to be raised on each resumption from the operating system complementary to one of the specified entries. The resumption exception has an associated exit handler programmed to restore the context saved by a corresponding execution of the entry handler. The entry exception, exit exception, entry handler, and exit handler are cooperatively designed to maintain an association between a one of the threads and an extended context of the thread through a context change induced by the operating system, the extended context including resources of the computer associated with the thread beyond those resources whose association with the thread is maintained by the operating system.
    • 在第二不同架构的计算机上执行以第一计算机的指令集编码的程序。 操作系统维护一组并发线程中的每一个与线程上下文的一组计算机资源之间的关联。 在不修改计算机的预先存在的操作系统的情况下,将在指定的入口点或指定条件下建立要在操作系统的每个条目上提出的入口异常。 条目异常具有相关联的条目处理程序,其被编程为在将修改的上下文传送到操作系统之前,保存中断的线程的上下文并修改线程上下文。 在操作系统的每次恢复之后建立恢复异常,补充指定条目之一。 恢复异常具有相关联的退出处理程序,其被编程为恢复由相应执行的条目处理程序保存的上下文。 入口异常,退出异常,条目处理程序和退出处理程序被协调地设计为通过由操作系统引发的上下文变化来维护线程中的一个线程和线程的扩展上下文之间的关联,扩展的上下文包括 与线程相关联的计算机超出与该线程的关联的那些资源由操作系统维护。
    • 20. 发明授权
    • Systems and methods for running a legacy 32-bit x86 virtual machine on a 64-bit x86 processor
    • 用于在64位x86处理器上运行旧版32位x86虚拟机的系统和方法
    • US07260702B2
    • 2007-08-21
    • US10883496
    • 2004-06-30
    • Rene Antonio VegaEric P. Traut
    • Rene Antonio VegaEric P. Traut
    • G06F12/00G06F9/44G06F9/46
    • G06F12/10G06F9/45554G06F12/1009G06F2212/1004
    • The present invention provides a virtualized computing systems and methods for transitioning in real time between LONG SUPER-MODE and LEGACY SUPER-MODE in the x86-64 architecture. In doing so, a virtual machine, which relies on the traditional 32-bit modes, i.e., REAL MODE and PROTECTED MODE (V86 SUB-MODE, RING-0 SUB-MODE, and RING-3 SUB-MODE), is able to run alongside other applications on x86-64 computer hardware (i.e., 64-bit). The method of performing a temporary processor mode context switch includes the steps of the virtual machine monitor's setting up a “virtual=real” page, placing the transition code for performing the processor mode context switch on this page, jumping to this page, disabling the memory management unit (MMU) of the x86-64 computer hardware, modifying the mode control register to set either the LONG SUPER-MODE bit or LEGACY SUPER-MODE bit, loading a new page table, and reactivating the MMU of the x86-64 computer hardware.
    • 本发明提供了一种用于在x86-64架构中的LONG SUPER-MODE和LEGACY SUPER-MODE之间实时转换的虚拟化计算系统和方法。 这样做,依靠传统的32位模式,即REAL模式和PROTECTED MODE(V86 SUB-MODE,RING-0 SUB-MODE和RING-3 SUB-MODE)的虚拟机能够 与x86-64计算机硬件(即64位)上的其他应用程序一起运行。 执行临时处理器模式上下文切换的方法包括虚拟机监视器设置“虚拟=真实”页面的步骤,将用于执行处理器模式上下文切换的转换代码放置在该页面上,跳转到该页面,禁用 x86-64计算机硬件的存储器管理单元(MMU),修改模式控制寄存器以设置LONG SUPER-MODE位或LEGACY SUPER-MODE位,加载新的页表,并重新激活x86-64的MMU 电脑硬件。