Patents Represented by Attorney Willkie Farr & Gallagher LLP
  • Patent number: 7137110
    Abstract: Profiling execution of a program. The program is coded in a mode-dependent instruction set. During a profile-quiescent execution interval, the profile circuitry records no profile information. After a triggering event is detected, the profile circuitry commences a profiled execution interval, and records profile information describing every profileable event during that interval. The profiled information includes at least all divergence of execution from sequential execution and processor mode changes not inferable from instruction opcode. The recorded profile information is efficiently tailored to annotate the profiled binary code with sufficient processor mode information to resolve mode-dependency, and indicates contiguous ranges of sequential instructions executed during a profiled interval by low and high boundaries of the contiguous ranges, indicating the high boundary by the address of the last byte.
    Type: Grant
    Filed: June 11, 1999
    Date of Patent: November 14, 2006
    Assignee: ATI International SRL
    Inventors: David L. Reese, John S. Yates, Jr., Paul H. Hohensee
  • Patent number: 7111290
    Abstract: A method and a computer with circuitry configured for performance of the method are disclosed. During a profiled interval of an execution of a program on a computer, profile information is recorded describing the execution, without the program having been compiled for profiled execution. The program is coded in an instruction set in which an interpretation of an instruction depends on a processor mode not expressed in the binary representation of the instruction. The recorded profile information describes at least all events occurring during the profiled execution interval of the two classes: (1) a divergence of execution from sequential execution; and (2) a processor mode change that is not inferable from the opcode of the instruction that induces the processor mode change taken together with a processor mode before the mode change instruction. The profile information further identifies each distinct physical page of instruction text executed during the execution interval.
    Type: Grant
    Filed: October 22, 1999
    Date of Patent: September 19, 2006
    Assignee: ATI International SRL
    Inventors: John S. Yates, Jr., David L. Reese, Paul H. Hohensee
  • Patent number: 7069421
    Abstract: A microprocessor chip, and methods for use in that microprocessor chip. The chip has instruction pipeline circuitry and address translation circuitry. Table lookup circuitry indexes into a table, the table having an entry associated with each corresponding address range translated by the address translation circuitry. Each entry of the table describes a likelihood of the existence of an alternate coding of instructions located in the respective corresponding address range. The table lookup circuitry retrieves a table entry corresponding to the address, and is operable as part of the basic instruction cycle of executing an instruction of a non-supervisor mode program executing on a computer.
    Type: Grant
    Filed: October 28, 1999
    Date of Patent: June 27, 2006
    Assignee: ATI Technologies, SRL
    Inventors: John S. Yates, Jr., David L. Reese, Paul H. Hohensee, Korbin S. Van Dyke, T. R. Ramesh
  • Patent number: 7065633
    Abstract: A computer concurrently executes a first operating system coded in a RISC instruction set and a second operating system coded in a CISC instruction set. When an exception is raised while executing a program coded in the RISC instruction set, an execution thread may be initiated under the CISC operating system. The exception may be delivered to the initiated thread for handling by the CISC operating system.
    Type: Grant
    Filed: July 26, 2000
    Date of Patent: June 20, 2006
    Assignee: ATI International SRL
    Inventors: John S. Yates, Jr., Matthew F. Storch, Sandeep Nijhawan, Dale R. Jurich, Korbin S. Van Dyke
  • Patent number: 7047394
    Abstract: A computer is disclosed. The computer has a general register file of registers, a RISC instruction decoder, and a CISC instruction decoder. The RISC instruction decoder is exposed for execution of user-state programs in a RISC instruction set, being an instruction set having fixed-length instructions and a load/store/operate organization. The hardware CISC instruction decoder is exposed for execution by user-state programs in a CISC instruction set, being an instruction set with variable-length instructions and many instructions having multiple side-effects. The CISC decoder is designed to decode a portion of an instruction set for the computer, and to deliver the decoded instructions to an instruction execution pipeline designed to execute the output of both the RISC instruction decoder and the CISC instruction decoder. A software emulator is programmed to implement a remainder of the instruction set.
    Type: Grant
    Filed: September 20, 2000
    Date of Patent: May 16, 2006
    Assignee: ATI International SRL
    Inventors: Korbin S. Van Dyke, Paul Campbell, Don Alan Van Dyke
  • Patent number: 7013456
    Abstract: A method and a computer for performance of the method. While executing a program on a computer, profileable events occurring in the instruction pipeline are detected. The instruction pipeline is directed to record profile information describing the profileable events essentially concurrently with the occurrence of the profileable events. The detecting and recording occur under control of hardware of the computer without software intervention.
    Type: Grant
    Filed: June 16, 1999
    Date of Patent: March 14, 2006
    Assignee: ATI International SRL
    Inventors: Korbin S. Van Dyke, Paul H. Hohensee, David L. Reese, John S. Yates, Jr., T. R. Ramesh, Shalesh Thusoo, Gurjeet Singh Saund, Stephen C. Purcell, Niteen Aravind Patkar
  • Patent number: 6978462
    Abstract: A computer having an instruction pipeline and profile circuitry. The profile circuitry detects and records, without compiler assistance for execution profiling, profile information describing a sequence of events occurring in the instruction pipeline. The sequence includes every event occurring during a profiled execution interval that matches time-independent selection criteria of events to be profiled. The recording continues until a predetermined stop condition is reached. The profile circuitry detects the occurrence of a predetermined condition, after a non-profiled interval of execution, and then commences the profiled execution interval.
    Type: Grant
    Filed: June 11, 1999
    Date of Patent: December 20, 2005
    Assignee: ATI International SRL
    Inventors: Michael C. Adler, John S. Yates, Jr., David L. Reese, Paul H. Hohensee, Stephen C. Purcell
  • Patent number: 6954923
    Abstract: An instruction processor to execute two instruction sets. Instructions are stored in different virtual memory pages of a single address space, and are coded for computers of two different instruction sets, and use of two different calling conventions. The instruction processor interprets instructions under, alternately, the first or second instruction set as directed by a first flag stored in table entries corresponding to memory pages for the instructions. The processor recognizes when program execution has transferred from a page of instructions using the first data storage convention to a page of instructions using the second data storage convention, as indicated by a second flag stored in the table entries, and then adjusts a data storage content of the computer from the first storage convention to the second data storage convention. A history record provides a record of a classification of a recently-executed instruction.
    Type: Grant
    Filed: July 7, 1999
    Date of Patent: October 11, 2005
    Assignee: ATI International SRL
    Inventors: John S. Yates, Jr., David L. Reese, Korbin S. Van Dyke
  • Patent number: 6941545
    Abstract: A computer. An instruction pipeline and memory access unit execute instructions in a logical address space of a memory of the computer. An address translation circuit translates address references generated by the program from the program's logical address space to the computer's physical address space. Profile circuitry is cooperatively interconnected with the instruction pipeline and configured to detect, without compiler assistance for execution profiling, occurrence of profilable events occurring in the instruction pipeline, and is cooperatively interconnected with the memory access unit to record profile information describing physical memory addresses referenced during an execution interval of the program.
    Type: Grant
    Filed: May 28, 1999
    Date of Patent: September 6, 2005
    Assignee: ATI International SRL
    Inventors: David L. Reese, John S. Yates, Jr., Paul H. Hohensee, Korbin S. Van Dyke, T. R. Ramesh, Shalesh Thusoo, Gurjeet Singh Saund, Niteen Aravind Patkar
  • Patent number: 6934832
    Abstract: A computer has a multi-stage execution pipeline and an instruction decoder.
    Type: Grant
    Filed: September 21, 2000
    Date of Patent: August 23, 2005
    Assignee: ATI International SRL
    Inventors: Korbin S. Van Dyke, Paul Campbell, Shalesh Thusoo, T. R. Ramesh, Alan McNaughton
  • Patent number: 6826748
    Abstract: A method and computer for performance of the method. While executing a program on a computer, the computer uses registers of a general register file for storage of instruction results. Profile information describing the profileable events is recorded into the general register file as the profileable events occur, without first capturing the information into a main memory of the computer.
    Type: Grant
    Filed: June 24, 1999
    Date of Patent: November 30, 2004
    Assignee: ATI International SRL
    Inventors: Paul H. Hohensee, David L. Reese, John S. Yates, Jr., Korbin S. Van Dyke, T. R. Ramesh, Shalesh Thusoo, Gurjeet Singh Saund, Niteen Aravind Patkar
  • Patent number: 6789181
    Abstract: A method and computer for executing the method. A source program is translated into an object program, in a manner in which the translated object program has a different execution behavior than the source program. The translated object program is executed under a monitor capable of detecting any deviation from fully-correct interpretation before any side-effect of the different execution behavior is irreversibly committed. When the monitor detects the deviation, or when an interrupt occurs during execution of the object program, a state of the program is established corresponding to a state that would have occurred during an execution of the source program, and from which execution can continue. Execution of the source program continues primarily in a hardware emulator designed to execute instructions of an instruction set non-native to the computer.
    Type: Grant
    Filed: November 3, 1999
    Date of Patent: September 7, 2004
    Assignee: ATI International, SRL
    Inventors: John S. Yates, David L. Reese, Korbin S. Van Dyke, Paul H. Hohensee
  • Patent number: 6779107
    Abstract: A microprocessor chip and methods for execution by the microprocessor chip. Instruction pipeline circuitry has first and second correct modes for processing at least some instructions. A plurality of flags each correspond to a class of instruction occurring in the instruction pipeline circuitry. Pipeline control circuitry cooperates with the instruction pipeline circuitry, as part of the basic execution cycle of the computer, to maintain the value of the flags to record failures of an attempt to execute in the first mode two mode instructions of the corresponding respective instruction classes, to be triggered by a timer expiry to switch the value of the flags, thereby to switch the instruction pipeline circuitry from one of the processing modes to the other for the corresponding instruction class.
    Type: Grant
    Filed: October 28, 1999
    Date of Patent: August 17, 2004
    Assignee: ATI International SRL
    Inventor: John S. Yates
  • Patent number: 6763452
    Abstract: A method and a multiprocessor computer for execution of the method. A first CPU has a general register file, an instruciton pipeline, and profile circuitry. The profile circuitry is operatively interconnected and under common hardware control with the instruction pipeline. The profile circuitry and instruction pipeline are cooperatively interconnected to detect the occurrence of profileable events occurring in the instruction pipeline. The profile circuitry is operable without software intervention to effect recording of profile information describing the profileable events into the general register file, without first capturing the information into a main memory of the computer. The recording is essentially concurrent with the occurrence of the profileable events.
    Type: Grant
    Filed: June 24, 1999
    Date of Patent: July 13, 2004
    Assignee: ATI International SRL
    Inventors: Paul H. Hohensee, John S. Yates, Jr., Korbin S. Van Dyke, David L. Reese, Stephen C. Purcell