Of Instruction Patents (Class 703/26)
-
Publication number: 20110071816Abstract: 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: ApplicationFiled: September 18, 2009Publication date: March 24, 2011Applicant: International Business Machines CorporationInventors: Theodore J. Bohizic, Reid T. Copeland, Marcel Mitran, Ali I. Sheikh
-
Publication number: 20110071815Abstract: 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: ApplicationFiled: September 18, 2009Publication date: March 24, 2011Applicant: International Business Machines CorporationInventors: Theodore J. Bohizic, Reid T. Copeland, Marcel Mitran, Ali I. Sheikh
-
Patent number: 7904288Abstract: 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: GrantFiled: November 6, 2006Date of Patent: March 8, 2011Assignee: Cadence Design Systems, Inc.Inventors: William F. Beausoleil, Beshara G. Elmufdi, Mitchell G. Poplack, Tai Su
-
Patent number: 7899663Abstract: 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: GrantFiled: March 30, 2007Date of Patent: March 1, 2011Assignee: International Business Machines CorporationInventors: Theodore J. Bohizic, Mark H. Decker, Viktor S. Gyuris
-
Patent number: 7890316Abstract: 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: GrantFiled: May 8, 2006Date of Patent: February 15, 2011Assignee: Texas Instruments IncorporatedInventors: Gary L. Swoboda, Robert A. McGowan
-
Patent number: 7885806Abstract: 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: GrantFiled: March 31, 2003Date of Patent: February 8, 2011Assignee: Semiconductor Technology Academic Research CenterInventor: Hiroshi Nakashima
-
Patent number: 7873794Abstract: 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: GrantFiled: August 21, 2007Date of Patent: January 18, 2011Assignee: International Business Machines CorporationInventors: Michael Joseph Corrigan, Timothy Joseph Torzewski
-
Patent number: 7870307Abstract: 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: GrantFiled: April 26, 2007Date of Patent: January 11, 2011Assignee: Sony Computer Entertainment Inc.Inventors: Victor O Suba, Stewart R Sargaison, Brian M. C. Watson
-
Patent number: 7865351Abstract: 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: GrantFiled: December 30, 2007Date of Patent: January 4, 2011Assignee: SanDisk IL Ltd.Inventor: Eitan Mardiks
-
Publication number: 20100305937Abstract: 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: ApplicationFiled: August 8, 2006Publication date: December 2, 2010Applicant: SYMBIAN SOFTWARE LTD.Inventor: Dennis May
-
Publication number: 20100305938Abstract: 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: ApplicationFiled: August 12, 2010Publication date: December 2, 2010Applicant: Sony Computer Entertainment Inc.Inventors: Stewart Sargaison, Victor Suba
-
Patent number: 7844446Abstract: 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: GrantFiled: February 19, 2009Date of Patent: November 30, 2010Assignee: International Business Machines CorporationInventors: Erik Richter Altman, Ravi Nair, John Kevin O'Brien, Kathryn Mary O'Brien, Peter Howland Oden, Daniel Arthur Prener, Sumedh Wasudeo Sathaye
-
Publication number: 20100299506Abstract: 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: ApplicationFiled: July 21, 2010Publication date: November 25, 2010Applicant: International Business Machines CorporationInventors: Dan F. Greiner, Timothy J. Slegel, Joachim von Buttlar
-
Publication number: 20100299130Abstract: 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: ApplicationFiled: May 10, 2010Publication date: November 25, 2010Applicant: Sony CorporationInventors: Atsushi Mitsuzawa, Yuji Matsuyama, Toshihiko Kawai
-
Publication number: 20100281292Abstract: 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: ApplicationFiled: July 12, 2010Publication date: November 4, 2010Applicant: Sony Computer Entertainment Inc.Inventors: Stewart Sargaison, Victor Suba, Brian Watson
-
Patent number: 7827023Abstract: 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: GrantFiled: February 1, 2006Date of Patent: November 2, 2010Assignee: Cadence Design Systems, Inc.Inventors: William F. Beausoleil, Beshara G. Elmufdi, Mitchell G. Poplack, Tai Su
-
Publication number: 20100274551Abstract: 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: ApplicationFiled: April 24, 2009Publication date: October 28, 2010Applicant: Sun Microsystems, Inc.Inventors: Abhinav Das, Jiwei Lu, William Y. Chen, Chandramouli Banerjee
-
Patent number: 7818162Abstract: 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: GrantFiled: December 19, 2005Date of Patent: October 19, 2010Assignee: Sony Computer Entertainment Inc.Inventor: Akihiko Sugawara
-
Patent number: 7809547Abstract: 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: GrantFiled: December 29, 2005Date of Patent: October 5, 2010Inventors: Russell W. Guenthner, David W. Selway, Stefan R. Bohult, Clinton B. Eckard
-
Publication number: 20100250230Abstract: 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: ApplicationFiled: March 30, 2009Publication date: September 30, 2010Applicant: Microsoft CorporationInventors: Shuvabrata Ganguly, Jason S. Wohlgemuth, Allen Marshall
-
Patent number: 7805371Abstract: 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: GrantFiled: March 10, 2004Date of Patent: September 28, 2010Assignee: ContentGuard Holdings, Inc.Inventors: Thomas M. Demartini, Michael Charles Raley
-
Patent number: 7792666Abstract: 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: GrantFiled: April 4, 2007Date of Patent: September 7, 2010Assignee: Sony Computer Entertainment Inc.Inventors: Stewart Sargaison, Victor Suba
-
Patent number: 7783471Abstract: 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: GrantFiled: February 28, 2007Date of Patent: August 24, 2010Inventors: David Vismans, Michiel Salters, James Tebbutt
-
Publication number: 20100205400Abstract: 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: ApplicationFiled: February 9, 2009Publication date: August 12, 2010Inventors: James F. Merten, Michael J. Rieschl, Nathan T. Zimmer
-
Patent number: 7770050Abstract: 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: GrantFiled: April 4, 2007Date of Patent: August 3, 2010Assignee: Sony Computer Entertainment Inc.Inventors: Stewart Sargaison, Victor Suba, Brian Watson
-
Patent number: 7765095Abstract: 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: GrantFiled: November 1, 2001Date of Patent: July 27, 2010Assignee: Cypress Semiconductor CorporationInventor: Craig Nemecek
-
Publication number: 20100185898Abstract: 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: ApplicationFiled: January 19, 2009Publication date: July 22, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Ping T. Chan, Paul M. Gioquindo, Ying-Yeung Li, Bruce H. Ratcliff, Stephen R. Valley, Mooheng Zee
-
Patent number: 7761269Abstract: 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: GrantFiled: August 2, 2000Date of Patent: July 20, 2010Assignee: Ford Global Technologies, LLCInventors: Juliet C. Kraal, Daniel Arbitter
-
Patent number: 7752030Abstract: 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: GrantFiled: August 3, 2004Date of Patent: July 6, 2010Assignee: Intel CorporationInventor: Eliezer Weissmann
-
Patent number: 7742905Abstract: 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: GrantFiled: February 25, 2005Date of Patent: June 22, 2010Assignee: Coware, Inc.Inventors: Niels Vanspauwen, Tom Michiels, Karl Van Rompaey
-
Patent number: 7743206Abstract: 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: GrantFiled: January 13, 2009Date of Patent: June 22, 2010Assignee: International Business Machines CorporationInventors: Gregory Tad Kishi, Jonathan Wayne Peake
-
Patent number: 7739100Abstract: 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: GrantFiled: October 18, 2005Date of Patent: June 15, 2010Assignee: McAfee, Inc.Inventors: Igor G. Muttik, Ivan Teblyashkin
-
Publication number: 20100138208Abstract: 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: ApplicationFiled: November 24, 2009Publication date: June 3, 2010Inventors: Naoya HATTORI, Toshiomi Moriki, Takashige Baba, Yuji Tsushima
-
Patent number: 7729898Abstract: 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: GrantFiled: October 17, 2002Date of Patent: June 1, 2010Assignee: Altera CorporationInventor: Craig Lytle
-
Publication number: 20100125444Abstract: 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: ApplicationFiled: November 17, 2008Publication date: May 20, 2010Inventors: Siamak Arya, Fong-Long Lin
-
Publication number: 20100125445Abstract: 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: ApplicationFiled: January 8, 2009Publication date: May 20, 2010Applicants: 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: 7720671Abstract: 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: GrantFiled: November 30, 2006Date of Patent: May 18, 2010Assignee: Oracle America, Inc.Inventors: Adam H. Leventhal, Michael W. Shapiro
-
Patent number: 7716654Abstract: 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: GrantFiled: June 18, 2004Date of Patent: May 11, 2010Assignee: Oracle America, Inc.Inventors: Michael Fleming, Saito Chihiro, Jonathan D. Courtney, Bartley H. Calder
-
Publication number: 20100114555Abstract: 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: ApplicationFiled: November 5, 2008Publication date: May 6, 2010Applicant: SUN MICROSYSTEMS, INC.Inventors: Abhinav Das, Jiwei Lu, William Y. Chen, Chandramouli Banerjee
-
Patent number: 7712092Abstract: 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: GrantFiled: February 12, 2008Date of Patent: May 4, 2010Assignee: The Board of Trustees of the Leland Stanford Junior UniversityInventors: Sorav Bansal, Alex Aiken
-
Publication number: 20100106479Abstract: 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: ApplicationFiled: October 28, 2009Publication date: April 29, 2010Applicant: NEC CORPORATIONInventor: Satoshi HIEDA
-
Publication number: 20100094221Abstract: 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: ApplicationFiled: October 10, 2008Publication date: April 15, 2010Inventors: Geoffrey P. Spencer, Robert J. Bryant
-
Patent number: 7693703Abstract: 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: GrantFiled: August 1, 2003Date of Patent: April 6, 2010Assignee: Mentor Graphics CorporationInventors: Xavier Montagne, Florent Bedoiseau
-
Patent number: 7689403Abstract: 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: GrantFiled: April 17, 2008Date of Patent: March 30, 2010Inventors: Russell W. Guenthner, Sidney L Andress, John Heath
-
Patent number: 7685593Abstract: 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: GrantFiled: May 12, 2005Date of Patent: March 23, 2010Assignee: Microsoft CorporationInventors: Andrew R. Solomon, Matthew C. Priestley, Michael Courage
-
Patent number: 7684973Abstract: 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: GrantFiled: December 29, 2005Date of Patent: March 23, 2010Assignee: Bull HN Information Systems Inc.Inventors: Russell W. Guenthner, Stefan R. Bohult, David W. Selway, Clinton B. Eckard
-
Patent number: 7681019Abstract: 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: GrantFiled: November 17, 2006Date of Patent: March 16, 2010Assignee: Sun Microsystems, Inc.Inventor: John Gregory Favor
-
Patent number: 7676797Abstract: 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: GrantFiled: January 31, 2005Date of Patent: March 9, 2010Assignee: Computer Associates Think, Inc.Inventor: James Broadhurst
-
Patent number: 7660480Abstract: 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: GrantFiled: February 10, 2006Date of Patent: February 9, 2010Assignee: Livermore Software Technology CorporationInventors: Cheng-Tang Wu, Hongsheng Lu
-
Patent number: 7653527Abstract: 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: GrantFiled: December 29, 2005Date of Patent: January 26, 2010Inventors: Russell W. Guenther, Clinton B. Eckard, David W. Selway