Patents by Inventor Carl Waldspurger

Carl Waldspurger has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 6195748
    Abstract: An apparatus is provided for sampling instructions in a processor pipeline of a computer system. The pipeline has a plurality of processing stages. Instructions are fetched into a first stage of the pipeline. A subset of the fetched instructions are identified as selected instructions. Event, latency, and state information of the system is sampled while any of the selected instructions are in any stage of the pipeline. Software is informed whenever any of the selected instructions leaves the pipeline to read the event and latency information.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: February 27, 2001
    Assignee: Compaq Computer Corporation
    Inventors: George Z. Chrysos, Jeffrey Dean, James E. Hicks, Carl A. Waldspurger, William E. Weihl, Daniel L. Leibholz, Edward J. McLellan
  • Patent number: 6175814
    Abstract: An apparatus is provided for determining an average number of instructions entering a stage of a processor pipeline of a computer system during a clock cycle of a processor clock. The number of instructions entering a particular stage of the pipeline are stored in a queue during each of a predetermined number (N) of clock cycles. The total number of instructions processed over the last P clock cycles is computed, where P is less than or equal to N. The total number of instructions processed is divided by the last P processor cycles to yield the instantaneous average number of instructions processed for each processor cycle. This average number of instructions processed is communicated to software.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: January 16, 2001
    Assignee: Compaq Computer Corporation
    Inventors: George Z. Chrysos, Jeffrey Dean, James E. Hicks, Jr., Carl A. Waldspurger, William E. Weihl
  • Patent number: 6163840
    Abstract: An apparatus is provided for sampling multiple concurretly executing instructions in a processor pipeline of a system. The pipeline has a plurality of processing stages. The apparatus identifies multiple selected when the instructions are fetched into a first stage of the pipeline. A subset of the the multiple selected instructions to execute concurrently in the pipeline. State information of the system is sampled while any of the multiple selected instructions are in any stage of the pipeline. Software is informed whenever all of the selected instructions leave the pipeline so that the software can read any of the state information.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: December 19, 2000
    Assignee: Compaq Computer Corporation
    Inventors: George Z. Chrysos, Jeffrey Dean, James E. Hicks, Daniel L. Leibholz, Edward J. McLellan, Carl A. Waldspurger, William E. Weihl
  • Patent number: 6148396
    Abstract: An apparatus is provided for collecting state information associated with an execution path of recently processed instructions in a processor pipeline of a computer system. The apparatus identifies a class of instructions to be sampled. Path-identifying state information of a currently processed instruction is sampled when the currently processed instruction belongs to the identified class of instructions. A shift register stores a predetermined number of entries storing selected state information, the shift register is simultaneously sampled along with additional state information about the instruction being executed at the time of sampling.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: November 14, 2000
    Assignee: Compaq Computer Corporation
    Inventors: George Z. Chrysos, Jeffrey Dean, Robert A. Eustace, James E. Hicks, Carl A. Waldspurger, William E. Weihl
  • Patent number: 6119075
    Abstract: Provided is a method for estimating statistics of properties of interactions among instructions processed in a pipeline of a computer system, the pipeline having a plurality of processing stages. Instructions are fetched into a first stage of the pipeline. A set of instructions are randomly selected from the fetched instructions, a subset of the set of selected instructions concurrently executing with each other. A distances between the set of selected instructions is specified, and state information of the computer system is recorded while the set of selected instructions is being processed by the pipeline. The recorded state information is communicated to software where it is statistically analyzed for a plurality of sets of selected instructions to estimate statistics of the interactions among sets of selected instructions.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: September 12, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Jeffrey Dean, James E. Hicks, Stephen C. Root, Carl A. Waldspurger, William E. Weihl
  • Patent number: 6092180
    Abstract: In a method for scheduling instructions executed in a computer system including a processor and a memory subsystem, pipeline latencies and resource utilization are measured by sampling hardware while the instructions are executing. The instructions are then scheduled according to the measured latencies and resource utilizations using an instruction scheduler.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: July 18, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Jennifer-Ann M. Anderson, Jeffrey Dean, James E. Hicks, Jr., Carl A. Waldspurger, William E. Weihl
  • Patent number: 6070009
    Abstract: A method is provided for estimating execution rates of program executions paths. The method samples path-identifying state information of selected instructions while executing the program in a processor. A control flow graph of the program is supplied, the control flow graph includes a plurality of path segments. The control flow graph is analyzed using the path-identifying state information to identify a set of path segments that are consistent with the sampled state information. The set of paths segments can be counted to determine their relative execution frequencies.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: May 30, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Jeffrey Dean, Robert A. Eustace, James E. Hicks, Carl A. Waldspurger, William E. Weihl
  • Patent number: 6000044
    Abstract: An apparatus is provided for sampling instructions in a processor pipeline of a system. The pipeline has a plurality of processing stages. The apparatus includes a fetch unit for fetching instructions into a first stage of the pipeline. Certain randomly selected instructions are identified, and state information of the system is sampled while a particular selected instruction is in any stage of the pipeline. Software is informed when the particular selected instruction leaves the pipeline so that the software can read any of the sampled state information.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: December 7, 1999
    Assignee: Digital Equipment Corporation
    Inventors: George Z. Chrysos, Jeffrey Dean, James E. Hicks, Daniel L. Leibholz, Edward J. McLellan, Carl A. Waldspurger, William E. Weihl
  • Patent number: 5964867
    Abstract: A method is provided for optimizing a program by inserting memory prefetch operations in the program executing in a computer system. The computer system includes a processor and a memory. Latencies of instructions of the program are measured by hardware while the instructions are processed by a pipeline of the processor. Memory prefetch instructions are automatically inserted in the program based on the measured latencies to optimize execution of the program. The latencies measure the time from when a load instructions issues a request for data to the memory until the data are available in the processor. A program optimizer uses the measured latencies to estimate the number of cycles that elapse before data of a memory operation are available.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: October 12, 1999
    Assignee: Digital Equipment Corporation
    Inventors: Jennifer-Ann M. Anderson, Jeffrey Dean, James E. Hicks, Carl A. Waldspurger, William E. Weihl
  • Patent number: 5923872
    Abstract: An apparatus is provided for sampling values of operands of instructions in a processor pipeline of a system, the pipeline having a plurality of processing stages. Instructions are fetched into a first stage of the pipeline. Any one of the fetched instructions are identified as a particular selected instruction. Values of results computed during the processing of the particular selected instruction are recorded in a sampling record along with state information identifying the particular selected instruction. Software is informed whenever the particular selected instruction leaves the pipeline to read the recorded values and state information.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: July 13, 1999
    Assignee: Digital Equipment Corporation
    Inventors: George Z. Chrysos, Jeffrey Dean, James E. Hicks, Carl A. Waldspurger, William E. Weihl
  • Patent number: 5809450
    Abstract: A method is provided for estimating statistics of properties of instructions processed in a pipeline of a computer system, the pipeline having a plurality of processing stages. Instructions are fetched into a first stage of the pipeline. Some of the fetched instructions are randomly selected. State information of the system is recorded in a profile record as samples while the selected instruction are processed by the pipeline. The recorded state information is communiucated to software. The software statistically analyzes the recorded state information from a subset of the selected instructions to estimate the statistics of the instructions.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: September 15, 1998
    Assignee: Digital Equipment Corporation
    Inventors: George Z. Chrysos, Jeffrey Dean, James E. Hicks, Carl A. Waldspurger, William E. Weihl
  • Patent number: 5796939
    Abstract: In a computer system, an apparatus is configured to collect performance data of a computer system including a plurality of processors for concurrently executing instructions of a program. A plurality of performance counters are coupled to each processor. The performance counters store performance data generated by each processor while executing the instructions. An interrupt handler executes on each processors, the interrupt handler samples the performance data of the processor in response to interrupts. A first memory includes a hash table associated with each interrupt handler, the hash table stores the performance data sampled by the interrupt handler executing on the processor. A second memory includes an overflow buffer, the overflow buffer stores the performance data while portions of the hash tables are active or full. A third memory includes a user buffer, and means are provided for periodically flushing the performance data from the hash tables and the overflow to the user buffer.
    Type: Grant
    Filed: March 10, 1997
    Date of Patent: August 18, 1998
    Assignee: Digital Equipment Corporation
    Inventors: Lance M. Berc, Sanjay Ghemawat, Monika H. Henzinger, Richard L. Sites, Carl A Waldspurger, William E. Weihl
  • Patent number: 5107443
    Abstract: In a shared navigable workspace that is presented at more than one workstation, a region is made private in response to a user request. The user can also indicate the region's level of privacy by indicating levels of access of different users. The private region's contents are displayed only to users that have visual access; a non-informative pattern covers the region's area on the displays of other users. The private region and its contents can be modified only by a user with access to modify. When a user requests movement of a pointer into the private region, the pointer can be presented in the private region if the user has sufficient access; otherwise, the pointer would be kept outside the private region's boundary. If a user requests a transition into the private region by selecting a selectable transition unit, called a teleporter, the request would be denied unless the user has sufficient access.
    Type: Grant
    Filed: September 7, 1988
    Date of Patent: April 21, 1992
    Assignee: Xerox Corporation
    Inventors: Randall B. Smith, Carl A. Waldspurger