Of Instruction Patents (Class 703/26)
  • Publication number: 20110071816
    Abstract: A selected group of Guest machine instructions in an emulation environment are translated to a semantic routine of Host machine instructions, wherein Guest cells corresponding to an opcode portion of a Guest instruction are mapped to corresponding Host cells, wherein the semantic routine of Host machine instructions are patched into a Host cell corresponding to the first Guest cell of the group of Guest machine instructions, wherein other Host cells of the corresponding Host cells are patched with semantic routines for emulating single instructions associated with the corresponding Guest cell.
    Type: Application
    Filed: September 18, 2009
    Publication date: March 24, 2011
    Applicant: International Business Machines Corporation
    Inventors: Theodore J. Bohizic, Reid T. Copeland, Marcel Mitran, Ali I. Sheikh
  • Publication number: 20110071815
    Abstract: A instructions of a Guest program to be emulated by a Host computer occupy one or more Guest cells of Guest memory, each Guest cell having a corresponding Host cell in Host memory. The emulator selects a Host cell for emulating a Guest instruction. When the Host cell corresponds to a Guest cell other than a cell aligned with the beginning of the Guest instruction, a wild branch handling routine is executed.
    Type: Application
    Filed: September 18, 2009
    Publication date: March 24, 2011
    Applicant: International Business Machines Corporation
    Inventors: Theodore J. Bohizic, Reid T. Copeland, Marcel Mitran, Ali I. Sheikh
  • Patent number: 7904288
    Abstract: A hardware emulator having a variable input emulation group is described. Each emulation group comprises two or more processors, where one of the processors (a first processor) is coupled to a data input selector and another one of the processors (a second processor) processes a first amount of data received from a data array. The data input selector receives the first amount of data and a second amount of data from the data array, and selects a third amount of data from among the first and second amounts of data. The third amount of data is provided to the first processor for evaluation.
    Type: Grant
    Filed: November 6, 2006
    Date of Patent: March 8, 2011
    Assignee: Cadence Design Systems, Inc.
    Inventors: William F. Beausoleil, Beshara G. Elmufdi, Mitchell G. Poplack, Tai Su
  • Patent number: 7899663
    Abstract: Memory consistency is provided in an emulated processing environment. A processor architected with a weak memory consistency emulates an architecture having a firm memory consistency. This memory consistency is provided without requiring serialization instructions or special hardware.
    Type: Grant
    Filed: March 30, 2007
    Date of Patent: March 1, 2011
    Assignee: International Business Machines Corporation
    Inventors: Theodore J. Bohizic, Mark H. Decker, Viktor S. Gyuris
  • Patent number: 7890316
    Abstract: Emulation information indicative of internal operations of a data processor can be provided for use by an apparatus external to the data processor. A stream of emulation trace information indicative of data processing operations performed by the data processor is provided. A stream of timing information indicative of operation of a clock used by the data processor to perform data processing operations is also provided. The trace stream and the timing stream have inserted therein information indicative of a temporal relationship between the trace information and the timing information.
    Type: Grant
    Filed: May 8, 2006
    Date of Patent: February 15, 2011
    Assignee: Texas Instruments Incorporated
    Inventors: Gary L. Swoboda, Robert A. McGowan
  • Patent number: 7885806
    Abstract: There is provided a simulation method of instruction scheduling comprising detecting a loop from an instruction sequence to be simulated, registering an instruction scheduling target instruction sequence in a loop detection state, comparing a current scheduling target instruction sequence with the registered scheduling target instruction sequence for each loop cycle, and skipping, when the current scheduling target instruction sequence matches the registered scheduling target instruction sequence, scheduling of that scheduling target instruction sequence, and newly registering, when the two instruction sequences do not match, the current scheduling target instruction sequence and executing scheduling.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: February 8, 2011
    Assignee: Semiconductor Technology Academic Research Center
    Inventor: Hiroshi Nakashima
  • Patent number: 7873794
    Abstract: Disclosed is an apparatus, method, and program product that provides atomic, multi-word load support without incurring additional memory utilization. A double-word is atomically loaded without the use of one or more additional fields and without a lock. An invalidity marker is used in connection with a cache miss time to ascertain whether a loaded double-word has been stored and loaded atomically, and is thus, valid.
    Type: Grant
    Filed: August 21, 2007
    Date of Patent: January 18, 2011
    Assignee: International Business Machines Corporation
    Inventors: Michael Joseph Corrigan, Timothy Joseph Torzewski
  • Patent number: 7870307
    Abstract: An emulator schedules emulation threads for DMA emulation and other emulation functions in a time-multiplexed manner. Emulation threads are selected for execution according to a load balancing scheme. Non-DMA emulation threads are executed until their execution time period expires or they stall. DMA emulation thread execution is allowed to execute indefinitely until the DMA emulation thread stalls. The DMA emulation thread prefetches additional adjacent data in response to target computer system DMA requests. Upon receiving a target computer system DMA request, the DMA emulation thread first checks to the prefetched data to see if this data matches the request. If so, the request is fulfilled using the prefetched data. If the prefetched data does not match the target computer system DMA request, the DMA emulation thread fetches and stores the requested data and additional adjacent data for potential future use.
    Type: Grant
    Filed: April 26, 2007
    Date of Patent: January 11, 2011
    Assignee: Sony Computer Entertainment Inc.
    Inventors: Victor O Suba, Stewart R Sargaison, Brian M. C. Watson
  • Patent number: 7865351
    Abstract: A USB peripheral device may automatically launch an application residing in its memory after it is connected to a host or after restarting the host if the USB flash drive has already been connected. Alternatively, the USB peripheral \device can automatically launch an application residing on the host or on a network, which is accessible by the host. The USB peripheral device has a USB interface and a controller, which is operative to execute instructions for sending and receiving messages through the USB interface. The controller is further operative, when executing the instructions, to send to a host a stream of emulated keystrokes, which emulated keystrokes cause the host to generate and execute a startup script. Embodiments of the invention include a USB peripheral device able to control a host and a method of using a USB peripheral device to control a host.
    Type: Grant
    Filed: December 30, 2007
    Date of Patent: January 4, 2011
    Assignee: SanDisk IL Ltd.
    Inventor: Eitan Mardiks
  • Publication number: 20100305937
    Abstract: Coprocessor support on a computing device is provided by means of external modules attaching themselves to the operating system (OS) kernel controlling the device at system boot time, with the modules registering themselves as valid coprocessor handlers. Threads initially execute with coprocessors disabled; the consequent exceptions caused by executing coprocessor instructions are then passed to the relevant registered handler. The technique can be used either to support installed coprocessors or to emulate absent coprocessors.
    Type: Application
    Filed: August 8, 2006
    Publication date: December 2, 2010
    Applicant: SYMBIAN SOFTWARE LTD.
    Inventor: Dennis May
  • Publication number: 20100305938
    Abstract: Emulation systems and method involving invalidating blocks of translated code in emulation of a target system on a host system in are disclosed. One or more blocks of target system code are translated by the host system to produce one or more corresponding blocks of translated code. The host system uses one or more native target system instructions as hints to invalidate or potentially invalidate one or more blocks of translated code. Blocks containing such hints cause the host system to mark some or all of the one or more blocks of translated code as potentially invalid. The potentially invalid blocks may be re-translated immediately. Alternatively, the potentially invalid blocks may be checked to see if the code in these blocks has been modified. If the code has been modified, corresponding blocks of target code may be re-translated.
    Type: Application
    Filed: August 12, 2010
    Publication date: December 2, 2010
    Applicant: Sony Computer Entertainment Inc.
    Inventors: Stewart Sargaison, Victor Suba
  • Patent number: 7844446
    Abstract: A method (and system) for executing a multiprocessor program written for a target instruction set architecture on a host computing system having a plurality of processors designed to process instructions of a second instruction set architecture, includes representing each portion of the program designed to run on a processor of the target computing system as one or more program threads to be executed on the host computing system.
    Type: Grant
    Filed: February 19, 2009
    Date of Patent: November 30, 2010
    Assignee: International Business Machines Corporation
    Inventors: Erik Richter Altman, Ravi Nair, John Kevin O'Brien, Kathryn Mary O'Brien, Peter Howland Oden, Daniel Arthur Prener, Sumedh Wasudeo Sathaye
  • Publication number: 20100299506
    Abstract: A rotate then operate instruction having a T bit is fetched and executed wherein a first operand in a first register is rotated by an amount and a Boolean operation is performed on a selected portion of the rotated first operand and a second operand in of a second register. If the T bit is ‘0’ the selected portion of the result of the Boolean operation is inserted into corresponding bits of a second operand of a second register. If the T bit is ‘1’, in addition to the inserted bits, the bits other than the selected portion of the rotated first operand are saved in the second register.
    Type: Application
    Filed: July 21, 2010
    Publication date: November 25, 2010
    Applicant: International Business Machines Corporation
    Inventors: Dan F. Greiner, Timothy J. Slegel, Joachim von Buttlar
  • Publication number: 20100299130
    Abstract: Apparatus and method for processing information may determine whether a migration condition exists by a source information processing unit executing a program. When a migration condition is determined to exist by the source information processing unit, a destination information processing unit may determine whether an instruction to be executed of the program is a predetermined instruction. The instruction to be executed is converted by an instruction emulator, when a result of a determination by the destination information processing unit is the predetermined instruction.
    Type: Application
    Filed: May 10, 2010
    Publication date: November 25, 2010
    Applicant: Sony Corporation
    Inventors: Atsushi Mitsuzawa, Yuji Matsuyama, Toshihiko Kawai
  • Publication number: 20100281292
    Abstract: Methods and systems for resolving clock management issues in emulation of a target system on a host system are disclosed. A first set of code instructions of a target program is emulated to generate a first set of emulated instructions that emulate a first component on the host system. A second set of code instructions is emulated to generate a second set of emulated instructions that emulate a second component of the target system on the host system. The first set is executed based on a first clock (which may be a fixed clock) and the second set is executed based on a second clock (which may be a variable clock). The host system adjusts the first or second clock, execution of the first or second sets of instructions or a memory access to maintain a desired synchronization between the first and second sets of instructions.
    Type: Application
    Filed: July 12, 2010
    Publication date: November 4, 2010
    Applicant: Sony Computer Entertainment Inc.
    Inventors: Stewart Sargaison, Victor Suba, Brian Watson
  • Patent number: 7827023
    Abstract: A method and apparatus for a memory efficient hardware emulator. The emulator comprises a plurality of processor dusters having data within the duster is stored in at least one data array, where the at least one data array comprises a plurality of sub-arrays. The sub-arrays that are not of uniform size (e.g., the size of each sub-array is determined by the probability that a particular sub-array will be accessed by the processor during a future emulation step). For example, at least one first sub-array is equal in depth to instruction memory within a processor (i.e., equal to the number of instructions in an emulation cycle), and the remaining sub-arrays are a fractional depth of the first sub-array.
    Type: Grant
    Filed: February 1, 2006
    Date of Patent: November 2, 2010
    Assignee: Cadence Design Systems, Inc.
    Inventors: William F. Beausoleil, Beshara G. Elmufdi, Mitchell G. Poplack, Tai Su
  • Publication number: 20100274551
    Abstract: Aspects of the invention are directed to a systems and methods for operating a non-native binary in dynamic binary translation environment. In accordance with an embodiment, there is provided a computer program product in a computer readable medium. The product includes program code for receiving a non-native binary in a computer readable medium and program code for translating the non-native binary. Additionally, the product includes program code for executing the translated non-native binary, the non-native binary including one or more threads, and program code for pausing execution of the translated non-native binary. The product also includes program code for providing guest instruction boundary information to a monitoring process and program code for analyzing a state of each thread of the translated non-native binary.
    Type: Application
    Filed: April 24, 2009
    Publication date: October 28, 2010
    Applicant: Sun Microsystems, Inc.
    Inventors: Abhinav Das, Jiwei Lu, William Y. Chen, Chandramouli Banerjee
  • Patent number: 7818162
    Abstract: An information processing device is provided for realizing the interpreter method emulation by using a processor having a performance requested for the compile method emulation. In one embodiment, an information processing device includes a host processor 1 for executing predetermined processing and a coprocessor 2 for executing emulation in accordance with a direction from the host processor 1. The coprocessor 2 determines whether the processing to be executed in accordance with emulation is executable by the coprocessor 2 when execution of emulation is directed from the host processor 1. The coprocessor 2 executes the processing when the processing is executable by the coprocessor 2 but leaves execution of the processing to the host processor 1 when the processing is not executable by the coprocessor 2.
    Type: Grant
    Filed: December 19, 2005
    Date of Patent: October 19, 2010
    Assignee: Sony Computer Entertainment Inc.
    Inventor: Akihiko Sugawara
  • Patent number: 7809547
    Abstract: As manufacturers of very fast and powerful commodity processors continue to improve the capabilities of their products, it has become practical to emulate the proprietary hardware and operating systems of powerful older computers on platforms built using commodity processors such that the manufacturers of the older computers can provide new systems which allow their customers to continue to use their highly-regarded proprietary legacy software on state-of-the-art new computer systems by emulating the older computer in software that runs on the new systems. In an example of the subject invention, a 64-bit Cobol Virtual Machine instruction provides the capability of adding to or improving the performance of legacy 36-bit Cobol code. Legacy Cobol instructions can be selectively diverted, in the host CPU, to a 64 bit Virtual Machine Implementation.
    Type: Grant
    Filed: December 29, 2005
    Date of Patent: October 5, 2010
    Inventors: Russell W. Guenthner, David W. Selway, Stefan R. Bohult, Clinton B. Eckard
  • Publication number: 20100250230
    Abstract: A computing system in which a software component executing on a platform can reliably and efficiently obtain state information about a component supported by the platform through the use of a shared memory page. State information may be supplied by the platform, but any state translation information needed to map the state information as supplied to a format as used may be provided through the shared page. In a virtualized environment, the state translation information can be used to map the value of a virtual timer counter or other component from a value provided by a virtual processor to a normalized reference time that will yield the same result, regardless of whether the software component is migrated to or from another virtual processor. Use of a shared page avoids the inefficiency of an intercept into a virtualized environment or a system calls in native mode operation.
    Type: Application
    Filed: March 30, 2009
    Publication date: September 30, 2010
    Applicant: Microsoft Corporation
    Inventors: Shuvabrata Ganguly, Jason S. Wohlgemuth, Allen Marshall
  • Patent number: 7805371
    Abstract: A system, method and device for creating a rights expression for association with an item for use in a system for controlling use of the item in accordance with the rights expression, including specifying rights expression information indicating a manner of use of an item, the rights expression information including at least one element, the element having a variable and corresponding value for the variable; generating a profile of the rights expression information, including removing the value for the variable from the element; and generating an identification for the profile, whereby the rights expression information can be enforced on the device based on the variable and the identification for the profile.
    Type: Grant
    Filed: March 10, 2004
    Date of Patent: September 28, 2010
    Assignee: ContentGuard Holdings, Inc.
    Inventors: Thomas M. Demartini, Michael Charles Raley
  • Patent number: 7792666
    Abstract: Emulation systems and method involving invalidating blocks of translated code in emulation of a target system on a host system in are disclosed. One or more blocks of target system code are translated by the host system to produce one or more corresponding blocks of translated code. The host system uses one or more native target system instructions as hints to invalidate or potentially invalidate one or more blocks of translated code. Blocks containing such hints cause the host system to mark some or all of the one or more blocks of translated code as potentially invalid. The potentially invalid blocks may be re-translated immediately. Alternatively, the potentially invalid blocks may be checked to see if the code in these blocks has been modified. If the code has been modified, corresponding blocks of target code may be re-translated.
    Type: Grant
    Filed: April 4, 2007
    Date of Patent: September 7, 2010
    Assignee: Sony Computer Entertainment Inc.
    Inventors: Stewart Sargaison, Victor Suba
  • Patent number: 7783471
    Abstract: The invention provides a communication device for emulating a behavior of a navigation device in response to executing a device firmware program installed on the navigation device. The communication device comprises a provider for providing information relating to the device firmware program, a determiner for determining whether a current firmware program installed on the communication device corresponds to the device firmware program installed on the navigation device and a processor for executing the current firmware program on the communication device in order to emulate the behavior of the navigation device if the current firmware program corresponds to the device firmware.
    Type: Grant
    Filed: February 28, 2007
    Date of Patent: August 24, 2010
    Inventors: David Vismans, Michiel Salters, James Tebbutt
  • Publication number: 20100205400
    Abstract: Approaches for emulating an operating system. A method includes executing a first operating system (OS) on an instruction processor. The first OS includes instructions of a first instruction set that are native to the instruction processor. A second OS is emulated on the first OS and includes instructions of a second instruction set that are not native to the instruction processor. An emulated transfer-of-control instruction is determined during emulation of the second OS to target either instructions of the first set or the second set. In response to determining that instructions of the first set are targeted, control is transferred to the targeted instructions of the first set on the instruction processor. In response to determining that instructions of the second set are targeted, the targeted instructions of the second set are retrieved and emulated.
    Type: Application
    Filed: February 9, 2009
    Publication date: August 12, 2010
    Inventors: James F. Merten, Michael J. Rieschl, Nathan T. Zimmer
  • Patent number: 7770050
    Abstract: Methods and systems for resolving clock management issues in emulation of a target system on a host system are disclosed. A first set of code instructions of a target program is interpreted to generate interpreted code instructions that emulate a first component on the host system. A second set of code instructions is translated to generate translated code instructions that emulate a second component of the target system on the host system. The interpreted instructions, are executed based on a first clock (which may be a fixed clock) and the translated instructions are executed based on a second clock (which may be a variable clock). The host system adjusts the first or second clock, execution of the translated or interpreted instructions or a memory access to maintain a desired synchronization between the translated instructions and the interpreted instructions.
    Type: Grant
    Filed: April 4, 2007
    Date of Patent: August 3, 2010
    Assignee: Sony Computer Entertainment Inc.
    Inventors: Stewart Sargaison, Victor Suba, Brian Watson
  • Patent number: 7765095
    Abstract: An In-Circuit Emulation system. A real microcontroller (device under test) operates in lock-step with a virtual microcontroller so that registers, memory locations and other debugged data can be retrieved from the virtual microcontroller without disrupting operation of a real microcontroller. When an I/O read instruction is carried out followed by a conditional jump instruction dependent upon the I/O read data, the virtual microcontroller does not have adequate time to compute the jump address after receipt of I/O read data from the real microcontroller. Thus, when this sequence of instructions is detected, the virtual microcontroller pre-calculates the jump address and makes the jump decision after receipt of the I/O read data from the real microcontroller.
    Type: Grant
    Filed: November 1, 2001
    Date of Patent: July 27, 2010
    Assignee: Cypress Semiconductor Corporation
    Inventor: Craig Nemecek
  • Publication number: 20100185898
    Abstract: The emulation of a data processing I/O protocol employs a process which obviates the need to consider hardware specific functionality for which emulation is not an optimal solution. The particular protocol described in exemplary fashion herein is the OSA protocol as defined by Open System Adapter standards. The use of this emulation is also seen to leave in place all of the software tools otherwise employed.
    Type: Application
    Filed: January 19, 2009
    Publication date: July 22, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ping T. Chan, Paul M. Gioquindo, Ying-Yeung Li, Bruce H. Ratcliff, Stephen R. Valley, Mooheng Zee
  • Patent number: 7761269
    Abstract: A system for subjective evaluation of a vehicle design within a virtual environment includes a scaleable physical property representative of the vehicle design and a computer system for digitally creating a virtual environment having a virtual human immersed within. The system also includes a motion capture system for sensing a motion of an evaluator and communicating the sensed motion of the evaluator to the computer system and a virtual reality display mechanism for providing the evaluator a view of the virtual environment while evaluating the vehicle design.
    Type: Grant
    Filed: August 2, 2000
    Date of Patent: July 20, 2010
    Assignee: Ford Global Technologies, LLC
    Inventors: Juliet C. Kraal, Daniel Arbitter
  • Patent number: 7752030
    Abstract: A processor based system including a processor and a storage subsystem communicatively coupled with the processor, an operating system stored in the storage subsystem to schedule instructions for execution, including a driver in which are included a virtual machine monitor and an emulator for an emulated processor; and a virtualization subsystem of the processor based system to generate an event for the virtual machine monitor.
    Type: Grant
    Filed: August 3, 2004
    Date of Patent: July 6, 2010
    Assignee: Intel Corporation
    Inventor: Eliezer Weissmann
  • Patent number: 7742905
    Abstract: Executing a simulation of a computer platform, the simulation including simulation models. A dynamic quantum is accessed whose current value specifies a maximum number of units of execution a simulation model is allowed to perform without synchronizing with another simulation model. The dynamic quantum may be received from a user. Respective simulation models are invoked for execution with the current value of the dynamic quantum provided to each of the simulation models. The method also comprises modifying the value of the dynamic quantum based on a simulation event.
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: June 22, 2010
    Assignee: Coware, Inc.
    Inventors: Niels Vanspauwen, Tom Michiels, Karl Van Rompaey
  • Patent number: 7743206
    Abstract: Disclosed are a system, a method, and article of manufacture to provide for obtaining data storage device specific information from a data storage device using standard read/write commands. This method uses a host application to write a unique sequence of records to a logical volume of the data storage device. The data storage device detects the unique sequence of records for the logical volume and writes device specific information to the logical volume allowing the host application the ability to read the data storage device specific information using a read command for the logical volume.
    Type: Grant
    Filed: January 13, 2009
    Date of Patent: June 22, 2010
    Assignee: International Business Machines Corporation
    Inventors: Gregory Tad Kishi, Jonathan Wayne Peake
  • Patent number: 7739100
    Abstract: A system, method, and computer program product are provided for detecting malware. In use, a search is conducted for known elements of computer code. Upon the detection of at least one known element of computer code, various operations are performed. In particular, the present technique steps back in the computer code, and emulates the computer code. Such emulation and stepping are performed for detecting malware.
    Type: Grant
    Filed: October 18, 2005
    Date of Patent: June 15, 2010
    Assignee: McAfee, Inc.
    Inventors: Igor G. Muttik, Ivan Teblyashkin
  • Publication number: 20100138208
    Abstract: A VMM disables an interrupt interception flag on at least one CPU to execute, upon reception of an interrupt, an interrupt handler code of an OS, and enables the interrupt interception flag on the at least one CPU to execute, upon the reception of the interrupt, an emulator in the VMM. When, to a virtual machine, an I/O device is assigned in a dedicated form, and when the CPU is assigned while the interrupt interception is disabled, a destination of the interrupt from the physical I/O device is set to the corresponding CPU on which the interrupt interception is disabled. When, to the virtual machine, the I/O device is assigned in a shared form, or when the CPU is assigned while the interrupt interception is disabled, the destination of the interrupt from the physical I/O device is set to the corresponding CPU on which the interrupt interception is enabled.
    Type: Application
    Filed: November 24, 2009
    Publication date: June 3, 2010
    Inventors: Naoya HATTORI, Toshiomi Moriki, Takashige Baba, Yuji Tsushima
  • Patent number: 7729898
    Abstract: A heterogeneous device including multiple types of resources is provided to implement multiple logic functions. Logic functions are provided with multiple configuration options. In one example, an optimal set of configuration options along with a target device are selected using cost and resource availability information associated with multiple heterogeneous programmable chips and the configuration options provided with the logic blocks.
    Type: Grant
    Filed: October 17, 2002
    Date of Patent: June 1, 2010
    Assignee: Altera Corporation
    Inventor: Craig Lytle
  • Publication number: 20100125444
    Abstract: A NOR emulating memory device has a memory controller with a first bus for receiving a NOR command signal, and for servicing a read operation from a desired address in a NOR memory. The memory controller has a second bus for communicating with a NAND memory in a NAND memory protocol, and a third bus for communicating with a RAM memory. A NAND memory is connected to the second bus. The NAND memory has an array of memory cells divided into a plurality of pages with each page divided into a plurality of sectors, with each sector having a plurality of bits. The NAND memory further has a page buffer for storing a page of bits read from the array during the read operation of the NAND memory. A RAM memory is connected to the third bus.
    Type: Application
    Filed: November 17, 2008
    Publication date: May 20, 2010
    Inventors: Siamak Arya, Fong-Long Lin
  • Publication number: 20100125445
    Abstract: A method for testing electronic apparatuses is provided. The method includes: reading an identification (ID) of an emulator adapter; searching for the script name in a test table according to the ID; fetching the script from a storage according to the determined script name and running the fetched script to pass each of input commands; and receiving and identifying each of the input commands to simulate a key input via an electrical conductive path, correspondingly to the input command, of the emulator adapter, such that an input key corresponding to the key input of the to-be-tested electronic apparatus is activated and the to-be-tested electronic apparatus performs a function associated with the input key correspondingly. A related test apparatus is also provided.
    Type: Application
    Filed: January 8, 2009
    Publication date: May 20, 2010
    Applicants: HONG FU JIN PRECISION INDUSTRY (ShenZhen) CO., LTD., HON HAI PRECISION INDUSTRY CO., LTD.
    Inventors: HUA-DONG CHENG, FENG ZHOU, BIN-GANG DUAN, ZHI-XIN XU, RUEY-SHYANG YOU, HAN-CHE WANG
  • Patent number: 7720671
    Abstract: A method for emulating a system call includes making the system call by a first process in a first operating system (OS) for interacting with a second process, wherein the first OS is emulated in a second OS, spawning an agent process, wherein the agent process is a child process of the first process, implementing a functionality of the system call using a general mechanism in the second OS between the agent process and the second process, passing a result associated with the system call from the second process to the agent process using the general mechanism, and relaying the result from the agent process to the first process using a system call in the second OS, wherein the result is stored by the first process.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: May 18, 2010
    Assignee: Oracle America, Inc.
    Inventors: Adam H. Leventhal, Michael W. Shapiro
  • Patent number: 7716654
    Abstract: Techniques for simulation of multi top-level graphical-containers (e.g., frames) in an object-oriented computing environment are disclosed. A Multi Top-level Graphical-Container Simulator (MTGS) can be provided to simulate multi top-level graphical container support for applications that expect to use a plurality of top-level graphical containers (e.g., frames, windows). A MTGS may be implemented as a layer between a GUI-based application and an operating system and/or hardware/device with limited or virtually no graphical support capability. The Multi Top-level Graphical Simulator (MTGS) can effectively isolate the operating systems and/or hardware/device from the GUI-based application, and yet hide this simulation from the operating system and/or hardware/device. MTGS may be implemented in a platform independent programming language (e.g., Java™ programming language using a set of Java™ classes which have been provided in the Java™ Swing development toolkit.
    Type: Grant
    Filed: June 18, 2004
    Date of Patent: May 11, 2010
    Assignee: Oracle America, Inc.
    Inventors: Michael Fleming, Saito Chihiro, Jonathan D. Courtney, Bartley H. Calder
  • Publication number: 20100114555
    Abstract: A method for executing non-native binaries on a host computer architecture comprises receiving a guest executable binary encoded on a computer readable medium. The guest executable binary is executable on a first computer architecture. Moreover, the guest executable binary includes a mutex lock encoded instructions for implementing a mutex lock. The guest executable binary is then executed on the host computer architecture by first translating the guest executable binary to a translated executable binary. The encoded instructions for implementing a mutex lock are translated by mapping the mutex lock to an instance of a compound mutex lock data structure. A computer system implementing methods for executing non-native binaries on a host computer architecture is also provided.
    Type: Application
    Filed: November 5, 2008
    Publication date: May 6, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Abhinav Das, Jiwei Lu, William Y. Chen, Chandramouli Banerjee
  • Patent number: 7712092
    Abstract: An efficient binary translator uses peephole translation rules to directly translate executable code from one instruction set to another. In a preferred embodiment, the translation rules are generated using superoptimization techniques that enable the translator to automatically learn translation rules for translating code from the source to target instruction set architecture.
    Type: Grant
    Filed: February 12, 2008
    Date of Patent: May 4, 2010
    Assignee: The Board of Trustees of the Leland Stanford Junior University
    Inventors: Sorav Bansal, Alex Aiken
  • Publication number: 20100106479
    Abstract: A CPU emulation system includes; a plurality of virtual CPUs each operating on a different physical CPU; an instruction sequence selecting section for selecting an instruction sequence to be optimized; a virtual CPU selecting section for selecting one of the plurality of virtual CPUs, which is to perform optimization processing of the selected instruction sequence, based on usage rates of the plurality of virtual CPUs; and an optimization level selecting section for determining an optimization level of the optimization processing that is to be executed by the selected one of the plurality of virtual CPUs, and giving a direction to perform the optimization processing to the selected one of the plurality of virtual CPUs.
    Type: Application
    Filed: October 28, 2009
    Publication date: April 29, 2010
    Applicant: NEC CORPORATION
    Inventor: Satoshi HIEDA
  • Publication number: 20100094221
    Abstract: An infusion pump assembly includes a reservoir assembly configured to contain an infusible fluid. A motor assembly is configured to act upon the reservoir assembly and dispense at least a portion of the infusible fluid contained within the reservoir assembly. Processing logic is configured to control the motor assembly. The processing logic includes a primary microprocessor configured to execute one or more primary applications written in a first computer language; and a safety microprocessor configured to execute one or more safety applications written in a second computer language.
    Type: Application
    Filed: October 10, 2008
    Publication date: April 15, 2010
    Inventors: Geoffrey P. Spencer, Robert J. Bryant
  • Patent number: 7693703
    Abstract: Configuring reconfigurable interconnect resources employing a switch matrix and configuration bit look-up table are disclosed. Reconfigurable interconnect resources include multiplexors to decrease the number of bits needed to load a configuration. Distributed processing resources configure a selected reconfigurable interconnect resource, interconnecting each input of the reconfigurable interconnect resource with a particular output of the reconfigurable interconnect resource using configuration bits scalably extracted from a row of configuration bits of a look-up table. Use of a configuration bit look-up table allows for compression of the bits needed to load the configuration for a reconfigurable interconnect resource.
    Type: Grant
    Filed: August 1, 2003
    Date of Patent: April 6, 2010
    Assignee: Mentor Graphics Corporation
    Inventors: Xavier Montagne, Florent Bedoiseau
  • Patent number: 7689403
    Abstract: Two unique instructions for the instruction set of a target 36-bit machine which is emulated on a host 64-bit machine are provided in order to achieve visibility, to an emulated application program, of a “containing” word stored in the memory of the host machine. A “LOAD64” instruction loads the emulator memory location representing an emulated “Q” (supplementary accumulator) register with the “normal” 36-bits of the containing word. At the same time, the “upper” 28 bits of the 64-bit containing word is copied into the emulator memory location representing an emulated “A” (accumulator) register. Thus, the emulated 36-bit machine “sees” and can examine the 64-bit word in its entirety. A “Store64” instruction stores the emulated “Q” register contents into the lower 36-bits of the 64-bit containing word, and at the same time stores the lower 28 bits of the emulated “A” register contents into the upper 28 bits of the 64-bit containing word.
    Type: Grant
    Filed: April 17, 2008
    Date of Patent: March 30, 2010
    Inventors: Russell W. Guenthner, Sidney L Andress, John Heath
  • Patent number: 7685593
    Abstract: Multiple versions of a runtime system, such as a software emulation application that emulates a legacy hardware architecture, are allowed to co-exist in the memory of a new hardware architecture. The operating system software of the new hardware architecture reads configuration data from a database or table to decide which version of the runtime system is desirable for an application program or game that is being loaded or is currently running, and, if a match is found, only that runtime system is invoked. To reduce storage footprint, the different versions of the runtime system may be stored using “differential patching” techniques. In this configuration, the operating system will always launch the same basic runtime system binary, but it will select a different differential patch to apply at run-time based on the title as determined during the database lookup.
    Type: Grant
    Filed: May 12, 2005
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew R. Solomon, Matthew C. Priestley, Michael Courage
  • Patent number: 7684973
    Abstract: As fast and powerful commodity processors have been developed, it has become practical to emulate on platforms built using commodity processors the proprietary hardware systems of powerful older computers. High performance is typically a key requirement for a system even when built using emulation software. In a hardware design many special cases and conditions which may cause exceptions are detected by logic operating in parallel with the instruction execution. In software these checks can cost extra cycles of processor time during emulation of each instruction and be a significant detriment to performance. Avoiding some of these checks by relying upon the underlying hardware checks of the host system and then using a signal handler and special software to recover from these signals is a way to improve the performance and simplify the coding of the software emulation system.
    Type: Grant
    Filed: December 29, 2005
    Date of Patent: March 23, 2010
    Assignee: Bull HN Information Systems Inc.
    Inventors: Russell W. Guenthner, Stefan R. Bohult, David W. Selway, Clinton B. Eckard
  • Patent number: 7681019
    Abstract: Reference architecture instructions are translated into target architecture operations. In some embodiments, an execution unit of a processor executes a function determined from a collection of operations, the function specifying functionality based on instructions, the collection selected from operations translated from the instructions. In further embodiments, the function is specified as a fused operation. Sequences of operations are optimized by fusing collections of operations; fused operations specify a same observable function as respective collections, but advantageously enable more efficient processing. In some embodiments, a collection comprises multiple register operations. Sequences of operations, in a predicted execution order in some embodiments, form traces. In some embodiments, fusing operations requires setting only final architectural state, such as final flag state; intermediate architectural state is used implicitly in a fused operation.
    Type: Grant
    Filed: November 17, 2006
    Date of Patent: March 16, 2010
    Assignee: Sun Microsystems, Inc.
    Inventor: John Gregory Favor
  • Patent number: 7676797
    Abstract: Software managing long names in an application programming interface receives a request to perform a requested operation on one or more fields, the application comprising a first operation operable to perform the requested operation on at least one field type. The software determines whether the field type of any of the fields is incompatible with the first operation. If the field types of the one or more fields are compatible with the first operation, then the software performs the requested operation on the one or more fields using the first operation. If the software determines that the field type of at least one of the fields is incompatible with the first operation, then it converts the request into a call for a second operation operable to perform the requested operation on the one or more fields and performs the requested operation using the second operation.
    Type: Grant
    Filed: January 31, 2005
    Date of Patent: March 9, 2010
    Assignee: Computer Associates Think, Inc.
    Inventor: James Broadhurst
  • Patent number: 7660480
    Abstract: A two-level transformation scheme to enable a practical fast mesh-free method is disclosed. The first level transformation transforms the original chosen mesh-free shape function to a first transformed mesh-free shape function that preserves Kronecker delta properties. The first transformed mesh-free function allows the essential boundary conditions to be imposed directly. The second-level transformation scheme employs a low pass filter function served as a regularization process that filters out the higher-order terms in the monomial mesh-free approximation obtained from the first-level transformation scheme with desired consistency and completeness conditions. This integration scheme requires only a low-order integration rule comparing to the high order integration rule used in the traditional mesh-free methods. The present invention simplifies the boundary condition treatments and avoids the usage of high-order integration rule and therefore is more practical than the traditional mesh-free methods.
    Type: Grant
    Filed: February 10, 2006
    Date of Patent: February 9, 2010
    Assignee: Livermore Software Technology Corporation
    Inventors: Cheng-Tang Wu, Hongsheng Lu
  • Patent number: 7653527
    Abstract: As fast and powerful commodity processors have been developed, it has become practical to emulate the proprietary hardware systems of powerful older computers on platforms built using commodity processors. The systems being emulated are often large mainframe computers with large numbers of disks, communications systems and other attached hardware. Because of the size and expense, and also because databases involved must reside in only one location, it is difficult to replicate these systems for testing, development, debug or for providing alternative options to customers. A method for providing a single emulated computer system which provides for multiple views or options in control of the emulator is disclosed in which the options are dependent and selected based on job or user basis. The mechanism continues to provide for high performance and a single copy of the operating system with multiple processes, jobs and threads being emulated under user controlled parameters.
    Type: Grant
    Filed: December 29, 2005
    Date of Patent: January 26, 2010
    Inventors: Russell W. Guenther, Clinton B. Eckard, David W. Selway