Patents Assigned to Virtutech AB
  • Patent number: 7703080
    Abstract: The invention relates to a computer program interpreter and a method for the same, using statistics to group (SR89, SR17 . . . SR6; SR4, SR34 . . . SR16) frequently used service routines (SR) in the same program function and to control encoding of instructions. Frequently used service routines are assigned shorter codes thus enhancing the performance of a simulator or emulator.
    Type: Grant
    Filed: August 30, 2005
    Date of Patent: April 20, 2010
    Assignee: Virtutech AB
    Inventors: Fredrik Larsson, Bengt Werner, Peter Magnusson
  • Patent number: 7684971
    Abstract: The invention is a technique that allows very efficient execution of an instruction set simulator (ISS) when certain code fragments are simulated. They occur frequently in operating systems, when a processor waits for something to occur. These loops perform very little, if any, computation. An automatic analysis of the code fragments is performed to determine whether they can be transformed to “fast forward” when execution loops through the code fragment. This is done by the creation of a function g, that takes a number of state changes as an input and can compute the state at a time T by a single application of the function, rather than applying the next state function repeatedly until time T is reached. An important aspect of the resulting optimization is that it produces exactly the same simulated result as compared to when it is not applied, i.e. the optimization is non-intrusive.
    Type: Grant
    Filed: March 30, 2005
    Date of Patent: March 23, 2010
    Assignee: Virtutech AB
    Inventors: Fredrik Larsson, Bengt Werner
  • Publication number: 20050283351
    Abstract: A method and system for simulating in software a digital computer system by performing virtual to physical translations of simulated instructions is disclosed. The number of virtual to physical translations using hash lookups is reduced by analyzing sequences of the instructions for determining with high probability whether the memory accesses made by the instructions perform the same virtual to physical translation in order to reduce the number of necessary hash lookups to enable faster simulation performance.
    Type: Application
    Filed: June 18, 2004
    Publication date: December 22, 2005
    Applicant: VIRTUTECH AB
    Inventors: Bengt Werner, Fredrik Larsson
  • Patent number: 6948157
    Abstract: The invention relates to a computer program interpreter and a method for the same, using statistics to group (SR89, SR17 . . . SR6; SR4, SR34 . . . SR16) frequently used service routines (SR) in the same program function and to control encoding of instructions. Frequently used service routines are assigned shorter codes thus enhancing the performance of a simulator or emulator.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: September 20, 2005
    Assignee: Virtutech AB
    Inventors: Fredrik Larsson, Bengt Werner, Peter Magnusson
  • Publication number: 20050015754
    Abstract: The present invention discloses method and system for a multimode simulator having an emulation core with improved performance. In an embodiment of the invention, the overhead caused by the exclusive use of the simulation technique using one instruction-at-a-time interpretation is reduced by additionally using binary translation for executed blocks of interpreted instructions (i.e. that contain no jumps out of the block) from the same instruction set architecture description. Since performing translations too frequently can undesirably increase overhead by overloading the cache, the binary translation is only performed for blocks that are executed frequently. Once the blocks are translated e.g. by forming the block from instructions via templates and generating the collective code, the overall simulator performance is significantly improved by running the blocks instead of running the instructions one-at-a-time.
    Type: Application
    Filed: June 18, 2004
    Publication date: January 20, 2005
    Applicant: VIRTUTECH AB
    Inventors: Bengt Werner, Magnus Christensson, Fredrik Larsson